JUGEMブログでソースコード表示

あんまり深く考えずにJugemでブログレンタルしちゃったんで、今でもここで黙々とメモみたいなもんを書いてるけど、Jugemでもコードを貼り付けている人を見かけたのでどうやってるのか気になった。
当初購入したガジェットのメモ書きにしか使わないと思ってたから、まさかプログラムみたいなものを載せるようになるとは自分でも思ってなかったんだな。
それに普通の文章にその手のコードを書き込むと、やっぱり見辛い。

 

しかし検索するとあっさり見つかる。ここを参照させていただきました。
http://flyingcircus.jugem.jp/?eid=5
Jugemは一見融通が利かないように見えて、実はCSSの編集は普通にできるので意外と便利。

デザインするのがめんどくさければテンプレートもあるし。
(正直カテゴリが複数選択できないとか不満はあるけど、セキュリティなんかもあまり考えなくていいのが楽)


上記も元の参照先は以下になる。
http://wada811.blogspot.com/2012/02/bloggersyntaxhighlighter.html
そもそもコードを表示するための、SyntaxHighlighterというツールがあったのか。
普段目にしてるのに知らないことって多い。

これで過去のメモを読みやすく整備していく予定。

まずはテスト。こんな感じ。

//テストだよ
test1
test2
//以上

お試しなのでJavaを選択してみた。でもJavaは使わないだろうな。

最初なんで全部コピペしちゃったけど、あとでいらない言語は削除しておく。

 

記事も画像も増えすぎたので取捨選択したいけど、自分で自分の過去記事を読んでたら楽しくて結局削除できずに日が暮れてく今日この頃。

(有料のに入ってるんで、容量は問題ないんですけどね)

Sponsered Link

Mongoose OS(その4)

久々にMongoose OSの件。

やりたいことがあった&一応できたので、それについてメモ。

 

Mongoose OSでM5Stackを使えるという情報がツイッターにあったので、検索したらちゃんと公式のところにサンプルのコードがあった。

 https://github.com/mongoose-os-apps/example-m5stack-js

これはやってみるしかない。

と思ったんだけど、JavaScriptはわからないのでそもそも何するプログラムなのかわからない。

(いや、どのプログラム言語も初心者なんだけど)

でも見た感じ、AWS使ってクラウド経由で信号を送る…のかな。まあいいや。

 

とにかくLinux(Ubuntu)上でMongoose OSを起動して、M5StackをUSB接続。

デバイスはESP32を選択。

「import」からexample-m5stack-jsを落としてきて、まずはビルドしてみたんだけど…エラーになった。

この原因は不明なんだけど、前もそんなことがあったな。

よく見たら裏でアップデートをダウンロードしてたので、とりあえず最新のをインストールしてPCを再起動してみた。

 

再びmosで起動すると、今度はちゃんとデバイスとwifiを認識してるようだ。

接続が確認できてなかったのがまずかったのかな。

画像が小さくて分かりづらいけど、URLの記載されてる窓の下にデバイス名や、Wifiのアドレスが出ている。

(実は最初の起動時にはこれが接続中のままだった)

そういえば前回もちゃんとこの表示が出ていたかも。

 

この状態でフラッシュしたところ、なんの問題もなくM5Stackが起動した。

記念の画像。

ただしクラウドに接続してないので、この状態ではUSB経由でしかボタンに反応してくれない。

でもそこが売りなOSなので、実際に使うならそれを生かした使い方をしたいところ。

今のところ、サンプルプログラムでお茶を濁すことしかできないんでもったいない。

 

しかしM5Stackの話から離れようとしたのに、また戻ってきてしまった。

まあそれだけ使い勝手がいいからしかたないか。面白いし。

Sponsered Link

Mongoose OS(その3)

諦めきれずに、もうちょっとMongoose OSのこと。

同じように、Mongoose OSでのI2Cについて書いてる人発見。
 http://www.chaoticfocus.net/posts/2017/09/esp8266-using-i2c-with-mongoose-os/
最終的にはやりたいことが違うけど、とてもわかりやすいのでこれを参照に途中までI2Cについて確認してみる。

 

mos.yml内を確認。
 config_schema :
    - [ "i2c.enable", true ]

となってるので、I2Cを使用する状態になってる。
ライブラリも、libs:に
    - origin: https://github.com/mongoose-os-libs/i2c 
が入っている。問題なし。

 

デフォルトでSDAとSCLに使用するピンがちゃんと設定されてることを確認。
これはbuild/fs/conf0.jsonの中。自動的に追加されてるらしい。
    "i2c": {
        "enable": true, 
        "freq": 100000, 
        "debug": false, 
        "sda_gpio": 12, 
        "scl_gpio": 14

       }
記載されている通り、GPIOは12と14。
自分はNodeMCUのモジュールを使ったので、D6(GPIO12)にSDA、D5(GIPO14)にSCL。ここまでは確認できている。

 

んじゃ配線は問題ないよなあと考えて、ふとOLEDの設定の見直しを考えた。

元のinit.jsの中に、

 d.begin(Adafruit_SSD1306.SWITCHCAPVCC, 0x3D, true /* reset */);

という一文があるんだけど、Adafruit SSD1306ライブラリを使うプログラムでで良く見かける。

これはハード(というか解像度)の設定でアドレスが0x3Cに変わることがある。

なので試しに0x3Cにしてフラッシュし直した後、無事OLEDに表示が出ました。

結局、コードもライブラリもほとんど問題ありませんでした。

しかしトラブルがあって見直しをかける際、ビルド後のログとかも確認しやすいし、使いやすい開発環境だということは良くわかった感じ。

プログラムを修正して書き込み直ししたときに、また戻ってこなくなったことがあったので、ここだけはネック。

 

最近M5Stackに構い過ぎなので、こういうところでガス抜きしていこうかな。
(でも結局ESP32とかESP8266とか使ってばっかり)

Sponsered Link

Mongoose OS(その2)

昨日の続き。
インストールがさくさく終わっちゃったので、何かサンプルを書き込んでみた。そして案の定躓いてる。

スクリーンショットが取れなかったので、ホントにメモ程度。

 

そういえばさくさくとESP8266のモジュールと接続しちゃったけど、USBドライバがなければインストールしておくことが必要。
あと、接続をESP8266にしたとき、メモリの大きさを選択できたのでとりあえず(良く解らないまま)2MBを選択してあります。

 

で、続き。
メイン画面の「My Apps」のところに、「+New」と「Import」があったので、「Import」をクリックしてみたところ、サンプルプログラムらしきものがだ〜っと出てきた。
たぶんこういうところから引っ張ってきてるかなと思った。
 https://github.com/mongoose-os-apps
検索できるので、SSD1306 (OLED)関連のを引っ張ってきてみた。
やり方は上記にもムービーで記載されてる。解りやすくて助かる。

 https://github.com/mongoose-os-apps/example-arduino-adafruit-ssd1306-js

 

ボード名横の右上の端っこのアイコンでESP8266にフラッシュ。
…が、延々とフラッシュし続けてるみたいで戻ってこなくなった。
(画面を別のものにして戻ってきたら止まっていた)
どうも先に隣のスパナのアイコンを押してビルドしておかないとダメみたいだ。って、githubの該当ページのムービー見てればわかったはずなんだけど。

なのでやり直してみたところ、無事に終わった。書き込みの状態は画面下半分のウィンドウで解る。

 

書き込んだESP8266のモジュールと、OLEDと接続して…というところで気づいたんだけど、接続はどのピンが該当するんだろう?

その辺も再確認ということで調べてたら、フォーラムで

 https://forum.mongoose-os.com/discussion/1106/i2c-oled-not-working

という書き込み発見。

さっそくi2cのライブラリを探したところ、

 https://github.com/mongoose-os-libs/i2c/blob/master/mos_esp8266.yml

を確認して、

["i2c.sda_gpio", 12]

["i2c.scl_gpio", 14]

になってたので、該当する端子に繋いだ。つもりなんだけど、表示されない。

断線してるとかじゃなければ、何か間違えてる。

いつものことだけど一気にここまでやっちゃったので、また順にチェックして行きます。

一応方法だけは理解できたし。(たぶん)

Sponsered Link

Mongoose OS(その1)

まだよくわかってないのと、調べつつメモしてくことが増えそうなのでその1にしておく。

 

ESP8266とかと絡んでツイッターで「Mongoose OS」というのが気になったので、調べてた。

公式のHPを見る限り、IoTに強いという感じだろうか。

 https://mongoose-os.com

とにかくインストールしてみればいいか、と思ったので詳細を検索。

土台になるPCに開発環境を入れて、ESP32やEPS8266にプログラムを転送する感じかな。

Arduinoっぽいけど、JavaScriptでもプログラムできる。

インストール方法は以下。

 https://mongoose-os.com/software.html

端末はMacだとまたごちゃごちゃしそうなので、Ubuntu OSに入れてみた。

 

リポジトリを取得。

$ sudo add-apt-repository ppa:mongoose-os/mos
  The Mongoose OS command line tool
  詳しい情報: https://launchpad.net/~mongoose-os/+archive/ubuntu/mos
 [ENTER] を押すと続行します。ctrl-c で追加をキャンセルできます

 gpg: 鍵リング「/tmp/tmpysuy3rq4/secring.gpg」ができました
 gpg: 鍵リング「/tmp/tmpysuy3rq4/pubring.gpg」ができました
 gpg: 鍵1A213823をhkpからサーバkeyserver.ubuntu.comに要求
 gpg: /tmp/tmpysuy3rq4/trustdb.gpg: 信用データベースができました
 gpg: 鍵1A213823: 公開鍵"Launchpad PPA for Mongoose OS"をインポートしました
 gpg: 処理数の合計: 1
 gpg:               インポート: 1  (RSA: 1)
 OK

一瞬で終わった。で、あとはインストール。

 $ sudo apt-get update

 $ sudo apt-get install mos

 $ mos --help

これはコマンド一覧が出るだけ。起動は、

 $ mos

とすると、WEBブラウザからMongoose OSのIDEが起動する。エラーもなく簡単。

画面キャプチャが小さすぎたけど、とにかくMongoose OSのIDEの準備画面が起動している。

最初USBに何も接続されてなかったのでNo Deviceになってたけど、ESP8266のモジュールを繋げたところ、認識してOSをフラッシュできた。

あとはWifiの設定を入れれば終わり。

 

初期設定が終わって、プログラムが表示されている。

最初はサンプルプログラムが入ってた。

 

使ってる人のブログとか探してみたところ、解りやすいところがあったのでそこも参照して見るといいかも。

(自分はいつものとりあえすやってみようで、行き当たりばったりでやっちゃったけど)

 https://www.1ft-seabass.jp/memo/2017/07/20/espr_developer_32_meets_mongoose_os/

 https://qiita.com/shanonim/items/2c6429f0a0bb2c7d9325

でもってAWSとの連携が多い感じ。あらかじめサンプルが多くて便利らしい。

自分はAWSとか使う予定はなさそうなので、別のサンプルを引っ張ってきて使ってみることにする。

なのでもうちょい続く。

Sponsered Link