福野泰介の一日一創 - create every day

2019年度の人気プログラミング言語ナンバーワンのPythonGitHubのアクティブでも不動の1位、PC上のPythonを使ってIchigoJamをコントロールして、かんたんIoTを実現してみましょう!

ネットにつながっているPC、Pythonを使えば世界中のさまざまなデータをAPI経由、スクライピングなどで、取得し放題。
Python2年生 スクレイピングのしくみ 体験してわかる!会話でまなべる! | 森 巧尚 | コンピュータ・IT | Kindleストア | Amazon」(まもなく登場!1年生はこちら

でも、PCではデバイスやセンサーなどを直接制御はできません。
そこで、それら電子部品の制御が得意なIchigoJamとUSBシリアルでつないでいいとこどり。

IchigoJamにUSBシリアルをつなぐか、IchigoKamuyを使って、PCに接続したら、Python用シリアル通信ライブラリ「pySerial」をセットアップ

pip3 install pyserial

USBシリアルのポート(port)を /dev/tty.〜 または COM3 などで指定し、LEDをつけるプログラムはこちら(シリアルを閉じる前に0.1秒待ちをいれてます)

import serial import time port = '/dev/tty.SLAB_USBtoUART' ser = serial.Serial(port, 115200) ser.write(b'LED1\n') time.sleep(0.1) ser.close()

好きなコマンドをIchigoJamへ送って、結果を1行表示するPythonプログラムをつくって

import serial import time import sys port = '/dev/tty.SLAB_USBtoUART' ser = serial.Serial(port, 115200) ser.write(sys.argv[1].encode('utf-8')) ser.write(b'\x0a') print(ser.readline().decode('utf-8')) time.sleep(0.1) ser.close()

IchigoJamコマンドをPCのコンソールから自由自在に送信可能!(例、LEDオフ、出力ポート制御、アナログ入力、サーボ制御)

python3 command.py 'LED0' python3 command.py 'OUT1,1:WAIT60:OUT1,0' python3 command.py '?ANA(2)' python3 command.py 'PWM2,100'

IchigoJam 1.4βファームウェアを使えば、マイコン内蔵フルカラーLEDのまとめて制御もこのように簡単!(リファレンス

python3 command.py 'LET[0],10,0,0:WS.LED1,50'


ネットで取得したデータに合わせて派手にお知らせできますね!
その他、いろいろサンプルプログラム in Python はこちら
IchigoJam/IchigoJam-control-by-python: IchigoJam control by Python

links
- Rubyで操るフルカラーLED50コ、USBシリアル x IchigoJam x Ruby編!
- IchigoJamでパソコンとUSBシリアル通信。Node.jsを使うとキーボードとモニタいらず – しずかなかずし

Tweet
クリエイティブ・コモンズ・ライセンス
この作品は「Creative Commons — CC BY 4.0」の下に提供されています。
CC BY 福野泰介 - Taisuke Fukuno / @taisukef / アイコン画像 / プロフィール画像