IchigoJamは、前回のBasicだけでなく、フォームウェアを書き換えるだけで、JavaScriptも使えるようになります。(これをIchigoLatteとよぶ)
http://ichigolatte.shizentai.jp/
lashというbashライクなシェルで、エディタを立ち上げたり、catコマンドやリダイレクトもできます。
今回、シリアルを利用して、IchigoJam とIchigoLatteで通信をしてみました。
お互いのTXをRXに、そしてGND同士接続します。
1 2 3 4 5 6 7 8 |
uart("'UART TEST\n"); while(1){ var a = rnd(26)+65; uart(39); uart(a); uart(10); sleep(1000); } |
IchigoLatteからIchigoJamにキャラクタを送信します。コマンドとして実行しないようにするために、先頭にコメント文字を入れます。
IchigoJamではBASICという都合から、受信したデータをコマンドとして実行してしまいます。IchigoLattteでは、uart()関数で送信、受信できるので、使いやすくなります。
シェルでuartデバイスにリダイレクトすることでも送信が可能です。
echo test > uart
受信はcatで実行します。CTL-Dでシリアルモードにすることでも可能です。
cat uart
しかし残念ながら、uart()関数での受信は数値でしかできないようです。
そこで、数値受信のテストとして、ArduinoとIchigoLatteを接続してテストしてみました。これもお互いTX-RXと、GND同士接続します。
開発ツール : Arduino 1.6.12 / Windows 10
1 2 3 4 5 6 7 8 9 10 11 12 |
void setup() { // put your setup code here, to run once: Serial.begin(115200); } void loop() { // put your main code here, to run repeatedly: char data = Serial.read(); if(data > 0){ Serial.println(data, DEC); } } |
Ichigolatte側
1 2 3 4 5 |
uart("12345 ABCDE"); while(1){ log(uart()); log("\n"); } |
最近は、ArduinoやラズパイそしてIchigoJamをよく使いますが、シリアル通信の手軽さに改めて通信の面白さを感じています。
無線ではBLEもこのブログで過去に取り上げたことがありますが、IoT時代これらを使いこなすことで新しい発想のモノがつくれそうです。