IoTセンサシステム構築技術(Wi-Fi送受信編)
関連ページ
- ESP-WROOM-02のプログラム開発
- ESP-WROOM-32のプログラム開発
- マイコン制御システム開発技術(Arduino編)
- マイクロコントローラ
- Raspberry Pi
- Programmable Logic Controllerのプログラム開発
- モノづくりへの若年者誘導
IoTは総合格闘技
- 【IoT入門書の紹介】IoTはITの総合格闘技という言葉にグッときた | マサトッシュブログ
- 【デブサミ2015】19-B-4 レポート IoTは総合格闘技である 〜組み込み、IT、インフラ、セキュリティ――幅広い知識の習得が不可欠 (1/2)|CodeZine(コードジン)
- IoT開発で『異種格闘技戦』をやめる選択|IoT|TechBLOG|Braveridge TechBLOG
- スキルと経験をIoTエンジニア誕生に導くためのステップ・バイ・ステップ | gihyo.jp < IoTは「テクノロジーの総合格闘技」とも言われており、非常に多くの技術要素が関わってきます。>
- 広範かつ複雑なIoTシステム、セキュリティ実装の3つの要点とは? - 株式会社ソラコム <「テクノロジーの総合格闘技」といわれるほど、IoTの仕組みは非常に広範かつ複雑だ。>
- 「IoTはテクノロジーの総合格闘技」、ソラコム玉川社長 | 日経クロステック(xTECH)
- 企業のDXを強力支援、合言葉は「IoTの民主化」 - ソラコム:日経クロステック EXPO 2020<「IoTはテクノロジーの総合格闘技」とも呼ばれる>
- エンジニアのみなさん!テクノロジーの総合格闘技こと、IoTに挑みませんか? - 株式会社アクセルラボのエンジニアリングの採用 - Wantedly
- 【オンライン】ALGYAN6周年IoT祭2021『IoTは技術の総合格闘技!』講演&ノベルティ抽選会|IT勉強会・イベントならTECH PLAY[テックプレイ]
- IoTシステムの開発はなぜ難しい? AWSで解決するには? | 株式会社スタイルズ<IoTがITの総合格闘技と言われる理由は?>
- 招待講演 -- PPL 2021 <IoT(Internet of Things)は情報科学の総合格闘技である>
- 技術的背景 <IoT (Internet of Things) は,情報技術の総合格闘技と言えます>
- Watson搭載パーソナルガイド・ロボット「ZUKKU」開発の舞台裏 | IBM Smarter Business <IoTの世界は総合格闘技のようなもの>
プロトコル
- HTTP
- Ajax (Asynchronous JavaScript + XML), XMLHttpRequest(XHR) → Fetch API
- WebSocket
- MQTT
開発環境
Arduino IDE
メニューバーから
ファイル→環境設定
追加のボードマネージャのURL:
http://arduino.esp8266.com/stable/package_esp8266com_index.json https://dl.espressif.com/dl/package_esp32_index.json https://m5stack.oss-cn-shenzhen.aliyuncs.com/resource/arduino/package_m5stack_index.json
- GitHub - esp8266/Arduino: ESP8266 core for Arduino
- espressif/arduino-esp32: Arduino core for the ESP32
- m5stack/M5Stack: M5Stack Arduino Library
Arduino CLI
PlatformIO
部品リスト
品名 | 型番 | 数量 | 購入先 | 価格 | 備考 |
---|---|---|---|---|---|
マイコン | AE-ESP-WROOM-02 | 1 | 秋月電子 | 650円 | |
ブレッドボード | 1 | 秋月電子等 | |||
LED | 1 | 秋月電子等 | |||
タクトスイッチ | 2 | 秋月電子等 | 書き込み、リセット | ||
照度センサ(フォトトランジスタ) | NJL7502L | 1 | 秋月電子 | 100円 | 2個入り |
抵抗器 | 1KΩ | 1 | 秋月電子等 | LED用 | |
抵抗器 | 10KΩ | 2 | 秋月電子等 | 照度センサ | |
抵抗器 | 100KΩ | 1 | 秋月電子等 | 分圧 | |
抵抗器 | 220KΩ | 1 | 秋月電子等 | 分圧 | |
三端子レギュレーター | TA48033S | 1 | 秋月電子 | 100円 | 電解コンデンサ、積層セラミックコンデンサ同梱 |
電池ボックス | SBH-331AS | 1 | 秋月電子 | 単3×3本 リード線・フタ・スイッチ付 | |
単三電池 | 3 |
参考ページ
- WIFI-TNGとESP-WROOM-02で始めるWIFI Arduino - Qiita
- Arduinoプログラミングでものづくり(ESP8266版)
- 電子工作界隈で話題のWi-Fiモジュール「ESP8266」でMQTTを使う方法 | 株式会社LIG
- GitHub - esp8266/arduino-esp8266fs-plugin: Arduino plugin for uploading files to ESP8266 file system
- Releases · earlephilhower/arduino-esp8266littlefs-plugin · GitHub
- SPIFFS_vs_LittleFS
- ESP8266WiFi library — ESP8266 Arduino Core documentation
- ESP8266 をアクセスポイントとして Web サーバーを実装 - ESP8266 - 基礎からの IoT 入門
- XMLHttpRequestとは?非推奨の理由やFetchとの関係などを解説
- まだXMLHttpRequestを使ってるの? fetchのすすめ - Qiita
- 非同期通信 XMLHttpRequestからFetch APIへ | SugiBlog
- FetchとXMLHttpRequestの基礎知識。 |https://memo.ag2works.tokyo/post-4424/]
- XMLHttpRequest(Ajax)とFetch APIの使い方を比較してみる | LaunchCart | 越境EC専用カート
- 同期と非同期のリクエスト - Web API | MDN
- これでXMLHttpRequestが理解できる | アールエフェクト
- XMLHttpRequest
Prolific PL-2303
振動解析
- データ前処理のポイント 〜 振動データのダウンサンプリング 〜 - スマートファクトリー - マクニカ
- 生産現場IoTへの挑戦 #02 ~M5Stick Cの加速度センサで高速サンプリング~ - Qiita
- 生産現場IoTへの挑戦 #01 ~M5Stick Cで振動測定してみる編~ - Qiita
- M5StickCで振動を測定する - AmbientでIoTをはじめよう
- M5StickC PLUSの加速度センサーで振動測定と周波数特性
- 注目M5Stack手のひら測定モニタ 第5回 加速度センサ「振動」周波数スペクトラム・アナライザ | 文献情報 | J-GLOBAL 科学技術総合リンクセンター
- 加速度センサーの仕様 用語の定義 | 調べる / 学ぶ | アナログ・デバイセズ
- 加速度センサーの値から速度と変位を求める - Qiita
- 小野測器-FFT基本 FAQ -「実効値とは何ですか?」
- 実効値(RMS値)とは - Cognicull
- なるほど!振動計 - PR情報 - IMV株式会社
- [でべさんはTwitterを使っています 「重力加速度にローパスフィルタ使うと、重力分を分離できるの、おもしろ! Arduino] IMUから速度と角度を求める https://t.co/0RE8pPgPho #Qiita」 / Twitter
- [Arduino] IMUから速度と角度を求める - Qiita
- M5StickCを簡易オシロスコープにする その1 事前調査(ADC) | Lang-ship
- らびやんさんはTwitterを使っています: 「@kanatakanata321 おお…AD変換でバッファ作るところが自動化できるということですかな?調べて見ます、ありがとうございます! M5StackFIREのベースユニットマイクはESP32の34pinでIIS_INと書かれているので、多分できる、かな? 今はArduinoIDE使ってるのでもしESP-IDFでないとダメなら直ぐには手が出せない感じ…。」 / Twitter
ADC
- ESP-WROOM-32のプログラム開発#ADC
- M5Stackで音を測る – Ambient
- M5Stack Core2、ADCサンプリング周波数150kHz可能 | matsuWeb
- オシロスコープを作る! - 電子工作を楽しもう!
- 10kHz ADC Sample · Issue #1627 · espressif/arduino-esp32
- ESP32のi2s ADCで150kSa/sサンプリング - Qiita
- ESP32の内部ADC値をi2sで取得した場合のサンプリングレート確認 - Qiita
- arduino-esp32/HiFreq_ADC.ino at master · espressif/arduino-esp32
- atomic14/esp32_audio: Sample code for reading audio samples from the ESP32 ADC using I2S
- ADC with I2S: increasing throughput to 2 MHz - ESP32 Forum
- ESP32のADCについて - Qiita
- ラジオペンチ ESP32でオシロを作る作業は難航中
- ESP32 の ADC 精度について | Rabbit Note
- ESP32のADCでキャリブレーションされた精度の良い電圧値を取得する方法 | kohacraftのblog
- ESP32のADCの変換ノイズを減らすにはADピンと電源の両方にコンデンサが必要でした | kohacraftのblog
- ESP32内蔵ADCで電圧値を測定する時の注意点 | e-DIYで行こう!
- ラジオペンチ ESP32のアナログポートの特性調査ー予想外の挙動
- ESP32の入出力ボードを作ってみた −アナログ入力の精度アップ− | ぼくのマイコン開発のメモ
- ESP32でBLE使いながら電圧(アナログ入力)を取得する - Qiita
加速度センサー
MPU6886
- M5Stack 6軸IMUユニット(U095) MPU6886 | Lang-ship
- tanakamasayuki/I2C_MPU6886: Library to control I2C MPU6886
- I2C_MPU6886/I2C_MPU6886.cpp at master · tanakamasayuki/I2C_MPU6886
- M5Core2/MPU6886.cpp at master · m5stack/M5Core2
IIS3DWB
- IIS3DWB - 超広帯域・低ノイズの3軸デジタル振動センサ - STMicroelectronics
- Conta™ 産業用 3軸デジタル振動センサ IIS3DWB 搭載 - SWITCH-SCIENCE
- kriswiner/IIS3DWB: Arduino sketches for ST's IIS3DWB vibration analyzer accelerometer
振動センサー
- ソリューション詳細
- VP-8021A:超小型振動ピックアップ(センサー) - 株式会社三共社
- MEMS素子搭載振動ピックアップ - 振動計 - IMV株式会社
- MEMS加速度センサで周波数11kHzまで使える振動ピックアップ - セミコンポータル
- 予知保全に最適な加速度センサーの選択 | アナログ・デバイセズ
- ADcmXL3021 データシートおよび製品情報 | アナログ・デバイセズ
IoTセンサー
無線LANモニタ
Bluetooth
BLE (Bluetooth Low Energy)
- hbldh/bleak: Bluetooth Low Energy platform Agnostic Klient for Python
bleak — bleak 0.14.2 documentation- bleak — bleak 0.14.2 documentation
- Win10環境下のpythonでBLE通信 - つれづれなる備忘録
- GitHub - eriklins/InsideBlue-BLE-Tool: InsideBlue BLE Tool is a cross-platform Bluetooth LE utility. It can scan for BLE devices showing device information and advert payload as well as connect to devices and access GATT services/characteristics.
- RasPi4のBLEで周囲のデバイス検知 | labs
- bluepyで始めるBluetooth Low Energy(BLE)プログラミング | 株式会社アイ・プライド
ZigBeeのメリットと使用上の注意点 | 半導体・電子部品の通販 RSオンライン- ZigBeeのメリットと使用上の注意点
PLC(電力線通信)
ESP32
Arduino
- arduino - How to read/write text card by line? - Stack Overflow
- toCharArray() - Arduino Reference
- [M5Stack] ArduinoライブラリのAPIまとめ | ラズパイの実
M5Stack Core2
- M5Button now also on 3-button M5Stack device. Draws button graphics. Events – tap, dbltap, longpress, repeat – for buttons. Extensive documentation and examples. by ropg · Pull Request #232 · m5stack/M5Stack
- M5Stack5 Core2 で M5Stack Basic と同じ AWS IoT コードが動かなかったが修正できたメモ – 1ft-seabass.jp.MEMO
- 初心者向けM5Stack Core2の始め方(ArduinoIDE編) | M5Stack沼人の日記
M5Stack CoreInk
ゲートウェイ
- RasPi4のBLEで周囲のデバイス検知 | labs
- オムロン環境センサーからBLE経由でデーターをクラウドに送る – Ambient
- M5StackでBLE環境センサー端末を作る – Ambient
- M5StackでBLE環境センサ端末を作る - AmbientでIoTをはじめよう
- BLE環境センサー・ゲートウェイ(Raspberry Pi編) – Ambient
- EnvSensorBleGw/env2ambientBS.py at master · AmbientDataInc/EnvSensorBleGw
- GitHub - AmbientDataInc/ambient-python-lib: AmbientのPython/MicroPythonライブラリーです。 Ambientにデーターを送信する機能と、Ambientに蓄積されたデーターを読み込む機能があります。
- Arduinoライブラリー – Ambient
- struct --- バイト列をパックされたバイナリデータとして解釈する — Python 3.10.0b2 ドキュメント
- Python で KeyboardInterrupt エラーをキャッチする | Delft スタック
- Python | フォーマット済み文字列リテラル(f文字列)を使った文字列の書式設定
- PythonでJSONファイル・文字列の読み込み・書き込み | note.nkmk.me
- datetime --- 基本的な日付型および時間型 — Python 3.10.0b2 ドキュメント
- round - cpprefjp C++日本語リファレンス
- Python で MQTT (Paho) - Qiita
- Raspberry Pi で mosquitto を使う - Qiita
- Raspberry PiでIoT(MQTTで遠隔操作編 その2)MQTT Brokerの構築とPythonでのpub/sub – 株式会社インデペンデンスシステムズ横浜
- MQTTでRaspberryPiとESP32を通信してみる(その1)|ゆう|note
- h2zero/NimBLE-Arduino: A fork of the NimBLE library structured for compilation with Ardruino, designed for use with ESP32.
- Arduino IDEで同じBLE Peripheral機能を異なる3つのライブラリで実装してみた - Qiita
- 要素技術紹介: MQTTを使用したIoTデバイス監視システムの構築 - 開発検証サービス | 日本ノーベル株式会社
- lag関数を使って購買間隔の平均を計算し、そのトレンドを可視化する
- さきブログ
- ESP32で重複したBLEアドバタイズパケットを表示する方法 - Qiita
- ESP32・BLEオブザーバーの開発
SQLite3
- SQLite | データベースの作成と接続
- PythonからSQLiteを操作する方法
- SQLite | SQLiteで利用可能なデータ型
- SQLiteで日付時刻を扱う際のポイント - Qiita
- SQLite3 でミリ秒付きの日時を扱う例
- SQLite | 日付と時刻を取得する(date関数, time関数, datetime関数, julianday関数, strftime関数)
.tables
.schema
- 前後のレコードの値を取得するSQL – LAGとLEAD | Box Code
- [MySQL] 当日と前日の売上データの差を求める方法(自己結合) | Search Light(CakePHP PHP jQuery JavaScript CSS Linux MySQLMac)
- SQLite3版 分析関数(ウインドウ関数) コードサンプル - Qiita
Pythonでリアルタイムグラフ表示
- Python matplotlib リアルタイムのグラフ表示 - Qiita
- [Python3]printで 標準エラー(stderr) に出力したい
- python 標準出力のフラッシュ sys.stdout.flush - Memorandum and Diary
- matplotlibのめっちゃまとめ - Qiita
SPI
- Qwiic - KX132搭載 三軸加速度センサモジュール - SWITCH-SCIENCE
- Triple Axis Accelerometer Breakout - KX13x (Qwiic) Hookup Guide - learn.sparkfun.com
- SparkFun_KX13X_Arduino_Library/SparkFun_Qwiic_KX13X.cpp at main · sparkfun/SparkFun_KX13X_Arduino_Library
- KX132-1211-Technical-Reference-Manual
- ESP32 GPIO割込みテスト - JH7UBCブログ
- AquesTalk pico LSI を M5Stack の I2C, UART, SPI で動かす - Qiita
- BUS Module - M5Stack | Mouser
- m5stack/M5-CoreInk: M5Stack CoreInk Arduino Library
- m5-docs
- M5-CoreInk/config.h at master · m5stack/M5-CoreInk
- ESP32-WROOM-32EのSPIでBME280の情報を取得 | スマートライフを目指すエンジニア
- Arduino for ESP32のSPIライブラリ - 南無ちゃんのブログ http://namva.net
- ESP32 Arudino SPIライブラリのメモ書き | 技術系のど根性
- 「SPI」の解説 - しなぷすのハード製作記
- ESP32 の SPI_MODE が修正。HSPI , VSPI , 複数SPIデバイス制御 , SPI高速化などについて | ページ 2 | mgo-tec電子工作
LTE
L-02C
QMI (Qualcomm Mobile Station Modem Interface)
wvdial
インストール
sudo apt install wvdial
初期設定(/etc/wvdial.conf)
[Dialer Defaults] Phone = Username = Password = New PPPD = yes
95-l-02c.rules
KERNEL=="ttyUSB[0-9]*", SUBSYSTEM=="tty", ATTRS{bInterfaceNumber}=="02", ATTRS{../idVendor}=="1004", ATTRS{../idProduct}=="618f", SYMLINK+="modem"
初期設定(/etc/ppp/peers/wvdial)
noauth name wvdial usepeerdns
noipv6
- Raspberry Piでモバイルルーターを作成する-wvdial,hostpad, dnsmasq | bitware(ビットウェア)
- Wvdial - ArchWiki
- wvdial.conf(5): wvdial config file - Linux man page
- networking - Automating PPP connection: adding the insertion in routing table of the new interface - Unix & Linux Stack Exchange
- Raspberry Pi3をSORACOM経由で通信&自動接続に挑戦 - Qiita
- LTEモデムL-02CをRaspberry Piにつなぐ | ころちゃん
- LTE 通信端末 L-02C を RaspberryPi 上で動かしてみる | コーヒー飲みながら仕事したい
- Raspberry PiにSORACOMを認識させてみる | IoT NEWS
- Debian bullseye ベースの Raspberry Pi OS で SORACOM Air を使うときの注意点 | labs
- Raspberry Pi L-02Cを使用したインターネット接続方法について | Ingenious
- Raspberry Pi + L-02C でバッチリ安定する多機能 LTE ルータをつくったメモ – 怠惰の形而上学
- RaspberryPiでL-02Cを使う - Qiita
- L-02Cを利用したLTE接続方法 - FaBo RaspberryPi Docs
- RaspberryPiでL-02Cを使ってSORACOM Airに接続する - uepon日々の備忘録
- Raspberry PiをL-02C+IIJmioでつないでみた: EeePCの軌跡
- Raspberry Pi(Linux) でL-02Cを利用する方法
- L-02Cを最初からUSBモデムで認識させる/手動でAPN登録する - /dev/stkinosh(IA)
- PiZeroにL-02Cを接続してLTE通信できるようにした - チラシの裏の落書き
- wvdial and dchpcd.conf - Raspberry Pi Forums
- RaspberryPiにSIMカードを挿して通信する – MINICODE
- Raspbianのifup@.serviceがおかしくてUSB 3G/4G モデムが動かなかった
- USB 3G モデム L-02CをRaspberry Pi 3で使えるようにしてMVNOのSIMカードで通信する
- RASPBIAN STRETCHでUSB 3G/4Gモデムを使い屋外でもネットワーク接続をする
- Raspberry Pi のネットワーク設定 - にわかプログラマの技術ブログ
- RaspberryPiでSORACOM Air使ってる時、一定期間立つとpeerに切られる - Eyes, JAPAN Blog
- ラズパイ+4GPiでLTEモバイルルータを作る - Qiita
- ラズベリーパイ用4G(LTE)通信モジュール「4GPi」 | 製品の紹介
pppd modem hangup
#maxfail <n> lcp-echo-failure 4
nohup
USBデバイスのリセット
- raspbian - How can I reset a USB device using command line utilities? - Raspberry Pi Stack Exchange
- USBデバイスのリセットなど - Raspberry Pi 備忘録 / Mbedもあるよ!
固定IPアドレスSIM
NCC UX312NC
- RaspberryPiでUX302NCを使う #Linux - Qiita
- Raspberry Piで、UX302NCをEthernetとして認識する #Linux - Qiita
- Raspberry PiでSIMフリーのUSBモデムUX302NCを使用する方法 | ガジェライブ!
その他
- scpコマンド - Qiita
- 【 ps 】コマンド――実行中のプロセスを一覧表示する:Linux基本コマンドTips(6) - @IT
- ATH-CKS50TW|イヤホン|株式会社オーディオテクニカ
- coreink shutdown deepsleep - Google 検索
- esp32 analogread 速度 - Google 検索
- 引き続き、ArduinoのFFTライブラリで格闘 | PIC AVR 工作室 ブログ
- Arduino 開発を支える地味なライブラリたち - Qiita
- AEセンサ・ケーブル・治具 | 製品 | FIRST AE
- 予知保全 | IoT用語辞典 | キーエンス
- 【IoT入門書の紹介】IoTはITの総合格闘技という言葉にグッときた | マサトッシュブログ