2022/1/20
初版
Wio-Terminal MQTT
Wio-TerminalでMQTTを動かす。
「MQTT on Wio Terminal」の記事のコードを利用して、Wio-TerminalでMQTTを動かす。
ビルド環境としては、platformioを使用する。
ここでは、Wio-TerminalをPublisher(送信側)、PCやiPhoneをSubscriber(受信側)にする。
当該の「MQTT on Wio Terminal」の記事のコードにある[ボタン]でコードをコピーまたはダウンロードして
platformioのプロジェクト(ディレクトリ)のsrc配下に置く。
# ダウンロードしたものは、ファイルタイプが「.c」になっているので、「.ino」にする。
src配下に置いたコードに以下のパッチを当てる:
src/WioTerminal_MQTT_Example.ino
#6行目付近を以下のように変更する。(新しいファームを使用する)
//#include <AtWiFi.h> // old firmware
#include <rpcWiFi.h>
#22行目付近を自分のWiFi環境に合わせて変更する。
// Update these with values suitable for your network.
const char* ssid = "***"; // WiFi Name
const char* password = "***"; // WiFi Password
const char* mqtt_server = "broker.mqtt-dashboard.com"; // MQTT Broker URL
plaformio.iniは以下のものにする: platformio.ini
; PlatformIO Project Configuration File
;
; Build options: build flags, source filter
; Upload options: custom upload port, speed and extra flags
; Library options: dependencies, extra library storages
; Advanced options: extra scripting
;
; Please visit documentation for the other options and examples
; https://docs.platformio.org/page/projectconf.html
[env:seeed_wio_terminal]
platform = atmelsam
board = seeed_wio_terminal
framework = arduino
build_flags = -DWIO_TERMINAL
upload_protocol = sam-ba
monitor_speed = 115200
lib_ldf_mode = deep+
lib_deps =
https://github.com/Seeed-Studio/Seeed_Arduino_mbedtls/archive/dev.zip
https://github.com/Seeed-Studio/Seeed_Arduino_rpcUnified/archive/master.zip
https://github.com/Seeed-Studio/Seeed_Arduino_rpcBLE/archive/master.zip
https://github.com/Seeed-Studio/Seeed_Arduino_rpcWiFi/archive/master.zip
https://github.com/Seeed-Studio/Seeed_Arduino_FreeRTOS/archive/master.zip
https://github.com/Seeed-Studio/Seeed_Arduino_FS/archive/master.zip
https://github.com/Seeed-Studio/Seeed_Arduino_SFUD/archive/master.zip
#
https://github.com/Seeed-Studio/Seeed_Arduino_LCD/archive/master.zip
#
arduino-libraries/NTPClient@^3.1.0
#
powerbroker2/SafeString@^4.1.14
seeed-studio/Seeed Arduino RTC@^2.0.0
#
lovyan03/LovyanGFX@^0.4.10
https://github.com/tanakamasayuki/efont.git
https://github.com/Tamakichi/Arduino-misakiUTF16.git
#
adafruit/Adafruit Unified Sensor@^1.1.4
adafruit/Adafruit BME280 Library@^2.2.2
adafruit/Adafruit DPS310@^1.1.1
adafruit/RTClib@^2.0.2
;neironx/RTCLib@^1.6.0
;wemos/WEMOS SHT3x@^1.0.0
https://github.com/Seeed-Studio/Grove_SHT31_Temp_Humi_Sensor.git
#
knolleary/PubSubClient@^2.8
以下のコマンドラインでビルドと書き込みを行う:
pio run -t upload
#通信ソフトを起動する
bt -L 1
USBシリアルからは、publishしているメッセージが表示される。
Subscriberとしては、Andoroid,iPhone,PCが使用できるが、ここでは、PCとiPhoneを取り上げる:
PCの場合:
以下のurlにwebブラウザーでアクセスする。
http://www.hivemq.com/demos/websocket-client/
websocket client
[Connect]をクリックして、broker-serverに接続して
Subscriptionsの[Add New Topic Subuscription]をクリックして
Wio-TerminalのPublisherで使用しているTopicの「WTout」を入力して
Subscribeする。
そうすると、Wio-Terminalからのメッセージが表示される。
以下、表示例:
Messages
2022-01-20 09:02:49
Topic: WTout
Qos: 0
Wio Terminal #6241
2022-01-20 09:02:47
Topic: WTout
Qos: 0
Wio Terminal #6240
2022-01-20 09:02:45
Topic: WTout
Qos: 0
Wio Terminal #6239
2022-01-20 09:02:42
Topic: WTout
Qos: 0
Wio Terminal #6238
...
iPhoneの場合:
アプリとしてMQTTtoolかEasyMQTTをインストールして
以下の情報を設定する:
MQTTtool設定情報:
HOST broker.mqtt-dashboard.com
Port 1883
Client ID アプリ側で自動設定されるので特に入力は無い
Username/Passwaordは不要。
SubscribeのTopicは「WTout」を設定する。
EasyMQTT設定情報:
HOST broker.mqtt-dashboard.com
Port 1883
Client ID Wio Terminal MQTT
Username/Passwaordは不要。
SubscribeのTopicは「WTout」を設定する。
MQTT connection settings
Connection Name: Public MQTT Broker
Client ID: Wio Terminal MQTT(任意)
Broker Web/IP address: broker.mqtt-dashboard.com
TCP Port: 1883
Websocket Port: 8000
以下をアクセスするとMQTTのアクセス状況が表示される:
http://broker.mqtt-dashboard.com/
HIVEMQ MQTT Dashboard
terminal関連:
Bootterm – a developer-friendly serial terminal program
Wio-Terminal関連:
wio-terminal firmware update(v2) (linux)
nixieクロックにNTPクライアントの機能を追加する(v2,rpcファーム対応)
MQTT関連:
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(MQTT編)
10 Free Public MQTT Brokers(Private & Public)
platformio関連:
arduinoフレームワーク用platformio.ini集
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(STARWARS編)
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(MQTT編)
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(REST-API編)
Wio-Terminal/M5Atom/ESP8622/ESP32ボードを共通のスケッチで動かす(v2)(OSC編)
Building Core2 FactoryDemo in PlatformIO
VSCodeとPlatformIOでM5Stack Core2開発
M5Stack Core2とVSCode + PlatformIOとでM5Stackプログラミングを始めてみた。
Arduino勉強会/37-RaspberryPi Picoをはじめよう - デバッガー
Arduino-IDE関連:
Raspberry Pi PicoでI2C/SPI通信
Arduino IDE environment - M5Paper
Arduino IDEのインストールと設定 (Windows, Mac, Linux対応)
以上