自分宛てメモ。

 

開発環境、といっても大したものはない。

やることは、
1)ソースを書いて
2)文法チェックして
3)ターゲットボードに書き込んで
4)実行する
の4つ。この他にデバッグがあるが、どのみちprintデバッグになるのでその際はターミナルソフトを使うことにする。

 

各ソフトのバージョンはこの記事の投稿日現在(2016年7月24日)。

 

Luaのアップローダ
nodemcu-uploader 0.4.3

pipでインストールできる。
sudo pip install nodemcu-uploader
使い方
https://github.com/kmpm/nodemcu-uploader/blob/master/doc/USAGE.md

 

eLuaのクロスコンパイラ
NodeMCUに組み込まれたLuaは正しくはeLuaなのでPC上のLuaと互換性がない。これでは不便な場合もあるので、互換性のあるLuaコンパイラが用意されている。
nodemcuのfirmwareに同梱されている。展開したディレクトリで
lua tools/cross-lua.lua
これで luac.cross が作成される。

 

Geanyの設定(使っているバージョンは1.30.1)

 

eLuaの文法チェックにカスタマイズしたLuaコンパイラを呼ばなくてはならないので、とりあえずMakefileを一つ書く。

プロジェクトを作成する度に持って歩かなくてはならない。不便だが今は我慢することにする。

CROSSLUA :=/フルパス/nodemcu-tools/luac.cross

 

%: %.lua
    $(CROSSLUA) -o $@ $^

 

 

後は、Geanyのメニューに適当に設定する。


スクリーンショットでは後半が隠れてしまって分かりにくいが、

 

「アップロード」への割当内容
nodemcu-uploader --port /dev/ttyUSB0 upload %f

 

オブジェクトをメイクへの割当内容
make %e

 

実行(E)への割当内容
nodemcu-uploader --port /dev/ttyUSB0 file do %f

 

 


アップロードのアイコンが、見た目ダウンロードっぽいのが格好悪い。

 

 

アップロードしたところ。Geanyが返す「コンパイル完了」が邪魔。

 

 

実行したところ。端末ウインドウが開いて実行結果が表示されるが、きょうび流石に古くさい。

 

 

使い慣れたフォントとキーアサインが利用できるのが唯一の取り柄か?

 

青空文庫に「二つの絵 芥川竜之介の回想 小穴隆一」が上がっていて、今日が河童忌だったことを思い出した。

自分宛てメモ

 

NodeMCU(eLua)のwifiがどうにも今ひとつなので代替の開発環境を試してみる。

 

入手先
https://www.arduino.cc/en/Main/Software#
から、linux64bitを落とす。

 

./install.sh
Adding desktop shortcut, menu item and file associations for Arduino IDE... done!

 

落としてきたtarballを展開したところがインストール先になる。この辺は、前身のProcessingと変わらない。

 

 

そういえば、Processing いじってないな。

 

画面の見にくさも変わらない。特に色使いが。取り敢えずインターフェースの文字サイズを141%に変更したが、この他カスタマイズできるのかしらん。

 

雑誌(トランジスタ技術2016年9月)の記事を元に、Hello,worldを動かしてみた。頻繁に書き換えモードと実行モードを行き来するので、ブレボにスイッチを追加しなくてはなるまい。

 

自分宛てメモ

 

wifi.sta.config の引数がテーブルになった。
例)
st={}
st.ssid="SSID"
st.pwd="password"
wifi.sta.config(st)

 

net.createServer()
引数省略でTCPになった。UDPは専用のライブラリが用意されている。

 

socket:send にコールバックを定義できる。
cn:send("<h1>Hello</h1>",function(s) print("OK") end)
とりあえず送信モニタに使える。

 

まる半日費やして進捗なし。

 

自分宛メモ。

 

speedguide.net で現在の値と推奨値を調べる。

/etc/sysctl.conf を編集する。


net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_wmem = 48180 64240 128480
net.ipv4.tcp_rmem = 48180 64240 128480
net.ipv4.tcp_mem = 1024000 1024000 1024000

net.core.rmem_max = 128480
net.core.rmem_default = 64240
net.core.wmem_max = 128480
net.core.wmem_default = 64240


sudo sysctl -p

 

確認は iperf -s

 

NodeMCUのサイトにあるサンプルプログラムを参考に、測った温度をWebに表示するプログラムを試してみたのだがうまく行かない。

 

payload の表示までは直ぐなのだが、その後のsendがうまく動かないようだ。ファームのバージョンが2.1.0及び1.5.4.1では何時まで待っても転送が終了しない。


仕方ないので0.9.6に戻して試してみたが、転送されるにはされるが30秒以上かかる。
これでは実用にならない。ひょっとしたら電源かしらん、と思って接続するUSBポートを変更したりしてみたが変化はない。

 


NodeMCU 0.9.6 build 20150704  powered by Lua 5.1.4
lua: cannot open init.lua
> sv=net.createServer(net.TCP)
> sv:listen(80, function(conn)
>> conn:on("receive", function(conn,payload)
>> print(payload)
>> conn:send(string.format("Now %f C",(adc.read(0)/1024-.6)*100-3))
>> end)
>> end)
> GET / HTTP/1.1
Host: 192.168.11.6
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.9) Gecko/20100101 Goanna/3.2 Firefox/45.9 PaleMoon/27.4.0
Accept: text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8
Accept-Language: ja,en-US;q=0.7,en;q=0.3
Accept-Encoding: gzip, deflate
Connection: keep-alive

 

自分宛てメモ

 

https://trafficnews.jp/post/76250/

 

池袋に丸善ができるらしい。以前から近所にあったのか、それとも新たに進出してきたのか。池袋にはジュンク堂があるので他の本屋なんぞ探そうとしなかったから、よくわからない。そのジュンク堂の目と鼻の先と言えそうな場所に、8月10日オープン、とか。

 


Search

Calendar

S M T W T F S
      1
2345678
9101112131415
16171819202122
23242526272829
3031     
<< July 2017 >>

Archive

Mobile

qrcode

Selected Entry

Link

Profile

Search

Other

Powered

無料ブログ作成サービス JUGEM