MQTTを試してみよう・・挫折・・・。

追記:Threadingのやり方で、当面のマルチタスクは実現できたので、MQTTをあえて試してみる必然性は当面消えた。下記はあくまでも、トライしてみた記録。特に有意義な情報なし。 自分が悩んでいることが、このように、他の人も困っていて、解決策が Python/Blynkでは難しそう(threadをうまく使いこなせばできるはずではあるが・・)なので、MQTTとやらに初挑戦して見ることにした。 MQTTの準備 今回、大変参考にさせていただいたのは、このサイトで、ここには、MQTTとは何?からリンクが貼ってあるので勉強になる。 自宅のRaspberry Pi やスマホ(Publisher) からメッ…

続きを読む →

Raspberry上でPythonでBlynkと同時に他の処理をさせてみた(threadingを使って実現)

背景 Raspberry上でIOTのツールを作成しているが、Blynkと同時に他の処理(ディスプレイの表示とか、時計を使った処理とか、タイマーを使った処理とか)を行おうとすると、なかなかうまくいかない。 ArduinoでCを使って Blynkを使う時には、 void loop() { Blynk.run(); timer.run(); yield(); } のような記述で、Blynk.run()を走らせながら、他の処理もLoopとして回すことが簡単にできるのに対し、PythonでBlynkを使う時に、Blynk.run()を実行すると、この関数からは永遠に戻ってこないため、ループが作れない。 …

続きを読む →

Raspberry上のPythonで日の出、日の入りを計算する

Pythonには、’ephem’ という日の出や日の入りの時刻を計算する便利なライブラリが存在する。 ephemのインストール raspberry pi zeroにログインして、ライブラリを探す。 $apt-cache search ephem この中から、Python3のライブラリを探すと、python3-ephemというのがある。(python3-ephem – Compute positions of the planets and stars with Python 3) これをインストールする。 $sudo apt-get install python3-ephem pi…

続きを読む →

Raspberry Pi (Raspbian stretch lite) でLircを使った赤外線リモコン信号を、Python3のスクリプトから送信制御する

事前準備 Raspberry PiにLircをインストールして、シェルからの赤外線送信、受信が正常にできるように設定する。(この記事に詳細を記載) Pythonから使えるように準備する PythonからLIRCを使えるようにするために、python3-lircモジュールをインストールする(python3を使う場合)。 $ sudo apt-get install python3-lirc $ pip3 list python-lirc (1.2.1)がインストールされていることを確認。 参考にさせていただいたサイト 「Philips Hueをリモコン操作する」 「IRセンサでテレビ化ラズパイを…

続きを読む →

スマホのBlynkアプリを操作して、WiFiで接続したラズパイ(Raspberry Pi Zero WH)からリモコンを出力してみる。

構成 Raspberry Pi Zero WH (USBから電源供給、WiFiでネットワークに接続)x 1 赤外線LED x 1 電流制限抵抗(100ホーム)  x 1 赤外線受光モジュール x 1 (波形確認用) 環境 OSは、Raspbian Strech Lite ($ lsb_release -aで表示できる) WiFiでの接続設定は済。TeraTermからSSHでログインして操作 プログラム開発は、Windows上のVS Codeでソースコードを記述し、SSH File Systemでラズパイに接続してコピーする。(本当に便利!!) Blynkアプリをスマホにインストール …

続きを読む →

Raspberry Pi Zero WHでBlynk経由、Python3を使って GPIO制御、BMP280測定値の読み取りをしてみる。

これまで、ESP8266や、ESP32を使って、スマホからBlynk経由で、温度・湿度・気圧などを確認してきたが、まずは、同じ事をRaspberry Piで試してみる。Raspberry Pi上のI2CにBMP280を接続して、SSHでつないだターミナル上に、温度・湿度・気圧をprintするところまでは、こちらで作成した。 Blynkでのアカウント作成等は、ネットに一杯情報があるので、ここでは省く。 新しいTokenを一つ取得する スマホのBlynkアプリから、新しいデバイスを一つ登録する。残念ながらRaspberry Pi Zero Wは、ハードウエアの選択肢になかったので、Raspberr…

続きを読む →

Arduino Pro Mini Sleep関連

Arduino Pro Miniを電池2本で動作させるための省電力トライ WDTの発信はRCのため、正確な時間測定は出来ないが、設定は以下の通り。 WDP3 WDP2 WDP1 WDP0 Time Out時間 疑問 0 0 0 0 0 16msec 1 0 0 0 1 32msec 2 0 0 1 0 64msec 3 0 0 1 1 128msec 4 0 1 0 0 250msec 256msec? 5 0 1 0 1 500msec 512msec? 6 0 1 1 0 1.0sec 1024msec? 7 0 1 1 1 2.0sec 2048msec? 8 1 0 0 0 4.0se…

続きを読む →

Python3から、I2Cで、BMP280を制御する。(温度・湿度・気圧測定)

あちこちのサイトを参考にして、一応、Pythonスクリプトが動いたので掲載する。 #!/usr/bin/python3 # #coding: utf-8 from smbus import SMBus import time from time import sleep bus_number = 1 i2c_address = 0x76 bus = SMBus(bus_number) digT = [] digP = [] digH = [] t_fine = 0.0 def writeReg(reg_address, data): bus.write_byte_data(i2c_addres…

続きを読む →

Raspberry Pi Zero WH のGPIOを、Python3で制御してLED点滅してみた。

Raspbianインストール直後の状態 Raspbian Stretch Lite の初期状態では、Pythonの環境として、2.7と、3.5が両方ともインストールされている。’python’には、2.7がリンクされており、3.5を起動するには、’python3’ とシェルから入力する必要がある。(もちろん、スクリプトの先頭に、#!/usr/bin/python3を書いておけば、その面倒は無いが・・) 現時点の、Python最新は 3.6であるが、当面、初期バージョン3.5のままで進める事にする(まだ、Raspberry上のPythonアップグレードの方法がよくわからないから・・・) パッケー…

続きを読む →

Raspberry Pi Zero WHを WiFi経由、ヘッドレス(HDMIモニター接続無し)で接続する。

これまで、Arduino、ESP-01、ESP-32などで、ちょっとした道具を作ってきたが、昔買った Raspberry Pi (今はEOLのRaspberry Pi Model-B)を、久々にタンスの奥から引っ張り出してきて、遊んでみることにした。ついでに、最近のRaspberry Pi Zero WH (WiFi/Bluetooth+Header付き)も、一つ購入したので比較しながら遊んでみる。 (スペック比較表はこちら) Raspberry Pi Model B Raspberry Pi Zero WH 会社で、Raspberry Piの話題が時々出るのに、実はちゃんと触ってこなかったの…

続きを読む →