Submit Search
Upload
Ifcq o smeetup20190517_tokyo_8esp32iot
•
1 like
•
393 views
I
If_CQ
Follow
ESP32 IoT Experiment with Amazon FreeRTOS and OTA
Read less
Read more
Technology
Report
Share
Report
Share
1 of 22
Download now
Download to read offline
Recommended
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
Tomohiro Kumagai
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Tomohiro Kumagai
Swift ドキュメントコメント
Swift ドキュメントコメント
Tomohiro Kumagai
Swift の可変値と不変値 #cocoa_kansai
Swift の可変値と不変値 #cocoa_kansai
Tomohiro Kumagai
Flutterリプレイスして良かったことと困ったこと
Flutterリプレイスして良かったことと困ったこと
Ryo Miyake🌶
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
Zend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイト
清水樹
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
Atomu Hidaka
Recommended
Swift を振り返ってみよう #cswift
Swift を振り返ってみよう #cswift
Tomohiro Kumagai
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Swift : クラス継承とプロトコル拡張を比べてみる #yidev
Tomohiro Kumagai
Swift ドキュメントコメント
Swift ドキュメントコメント
Tomohiro Kumagai
Swift の可変値と不変値 #cocoa_kansai
Swift の可変値と不変値 #cocoa_kansai
Tomohiro Kumagai
Flutterリプレイスして良かったことと困ったこと
Flutterリプレイスして良かったことと困ったこと
Ryo Miyake🌶
iOS 8/Swift 概要 #ios8yahoo
iOS 8/Swift 概要 #ios8yahoo
Hiramatsu Ryosuke
Zend Frameworkで始める携帯サイト
Zend Frameworkで始める携帯サイト
清水樹
2013 06-22osc nagoya-netmf
2013 06-22osc nagoya-netmf
Atomu Hidaka
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM,INC
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
Takeshi Fukuhara
itnerface 2018年9月号オフ会発表資料
itnerface 2018年9月号オフ会発表資料
Kenichi Miyata
IoT Cyber Security Counter Measurement
IoT Cyber Security Counter Measurement
Kiyoshi Ogawa
Work Automate with Power Automate
Work Automate with Power Automate
Tomoyuki Obi
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
20220719_IoTLT_vol89_kitazaki_v1.pdf
20220719_IoTLT_vol89_kitazaki_v1.pdf
Ayachika Kitazaki
Xcode and iTC submission topics
Xcode and iTC submission topics
Syo Ikeda
20130315 abc firefox_os
20130315 abc firefox_os
Tomoaki Konno
Adk2012
Adk2012
magoroku Yamamoto
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
Kenichi Yoshida
Whats service mesh & istio ?
Whats service mesh & istio ?
cyberblack28 Ichikawa
OpenCLに触れてみよう
OpenCLに触れてみよう
You&I
OpenGLプログラミング
OpenGLプログラミング
幸雄 村上
統合ログ分析技術Lognosisと運用ログ分析の取組
統合ログ分析技術Lognosisと運用ログ分析の取組
NTT Software Innovation Center
Clrh 20140906 lt
Clrh 20140906 lt
Tomoyuki Obi
ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介
富士通クラウドテクノロジーズ株式会社
Open binder
Open binder
l_b__
ニフティクラウド Mobile backendとio tの良い関係
ニフティクラウド Mobile backendとio tの良い関係
ニフクラ mobile backend
Ifcq o smeetup20190517_tokyo_nuttx
Ifcq o smeetup20190517_tokyo_nuttx
If_CQ
Making pseudo quantum computer
Making pseudo quantum computer
If_CQ
More Related Content
Similar to Ifcq o smeetup20190517_tokyo_8esp32iot
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM,INC
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
ThinReports
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
Takeshi Fukuhara
itnerface 2018年9月号オフ会発表資料
itnerface 2018年9月号オフ会発表資料
Kenichi Miyata
IoT Cyber Security Counter Measurement
IoT Cyber Security Counter Measurement
Kiyoshi Ogawa
Work Automate with Power Automate
Work Automate with Power Automate
Tomoyuki Obi
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
akira6592
20220719_IoTLT_vol89_kitazaki_v1.pdf
20220719_IoTLT_vol89_kitazaki_v1.pdf
Ayachika Kitazaki
Xcode and iTC submission topics
Xcode and iTC submission topics
Syo Ikeda
20130315 abc firefox_os
20130315 abc firefox_os
Tomoaki Konno
Adk2012
Adk2012
magoroku Yamamoto
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
Kenichi Yoshida
Whats service mesh & istio ?
Whats service mesh & istio ?
cyberblack28 Ichikawa
OpenCLに触れてみよう
OpenCLに触れてみよう
You&I
OpenGLプログラミング
OpenGLプログラミング
幸雄 村上
統合ログ分析技術Lognosisと運用ログ分析の取組
統合ログ分析技術Lognosisと運用ログ分析の取組
NTT Software Innovation Center
Clrh 20140906 lt
Clrh 20140906 lt
Tomoyuki Obi
ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介
富士通クラウドテクノロジーズ株式会社
Open binder
Open binder
l_b__
ニフティクラウド Mobile backendとio tの良い関係
ニフティクラウド Mobile backendとio tの良い関係
ニフクラ mobile backend
Similar to Ifcq o smeetup20190517_tokyo_8esp32iot
(20)
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
SORACOM Conference Discovery 2017 | E2. IoTデバイス・デザインパターン ベストプラクティス
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Ruby向け帳票ソリューション「ThinReports」の開発で知るOSSの威力
Microsoft Intelligent Edge Technologies
Microsoft Intelligent Edge Technologies
itnerface 2018年9月号オフ会発表資料
itnerface 2018年9月号オフ会発表資料
IoT Cyber Security Counter Measurement
IoT Cyber Security Counter Measurement
Work Automate with Power Automate
Work Automate with Power Automate
show コマンド結果をパースする方法あれこれ #npstudy
show コマンド結果をパースする方法あれこれ #npstudy
20220719_IoTLT_vol89_kitazaki_v1.pdf
20220719_IoTLT_vol89_kitazaki_v1.pdf
Xcode and iTC submission topics
Xcode and iTC submission topics
20130315 abc firefox_os
20130315 abc firefox_os
Adk2012
Adk2012
Androidロボットサミットin名古屋
Androidロボットサミットin名古屋
Whats service mesh & istio ?
Whats service mesh & istio ?
OpenCLに触れてみよう
OpenCLに触れてみよう
OpenGLプログラミング
OpenGLプログラミング
統合ログ分析技術Lognosisと運用ログ分析の取組
統合ログ分析技術Lognosisと運用ログ分析の取組
Clrh 20140906 lt
Clrh 20140906 lt
ニフクラ mobile backend チームのCIツール活用事例紹介
ニフクラ mobile backend チームのCIツール活用事例紹介
Open binder
Open binder
ニフティクラウド Mobile backendとio tの良い関係
ニフティクラウド Mobile backendとio tの良い関係
More from If_CQ
Ifcq o smeetup20190517_tokyo_nuttx
Ifcq o smeetup20190517_tokyo_nuttx
If_CQ
Making pseudo quantum computer
Making pseudo quantum computer
If_CQ
Good Arm FPGA Board Ultra96 and Google AI YOLO
Good Arm FPGA Board Ultra96 and Google AI YOLO
If_CQ
speech signal processing
speech signal processing
If_CQ
IT agri choujugaitaisaku
IT agri choujugaitaisaku
If_CQ
IoTAgrisensingcontrol
IoTAgrisensingcontrol
If_CQ
Raspi multispectrumcamera enya
Raspi multispectrumcamera enya
If_CQ
More from If_CQ
(7)
Ifcq o smeetup20190517_tokyo_nuttx
Ifcq o smeetup20190517_tokyo_nuttx
Making pseudo quantum computer
Making pseudo quantum computer
Good Arm FPGA Board Ultra96 and Google AI YOLO
Good Arm FPGA Board Ultra96 and Google AI YOLO
speech signal processing
speech signal processing
IT agri choujugaitaisaku
IT agri choujugaitaisaku
IoTAgrisensingcontrol
IoTAgrisensingcontrol
Raspi multispectrumcamera enya
Raspi multispectrumcamera enya
Recently uploaded
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
Yuki Kikuchi
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
UEHARA, Tetsutaro
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
Hiroshi Tomioka
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
FumieNakayama
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
FumieNakayama
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
博三 太田
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
akihisamiyanaga1
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NTT DATA Technology & Innovation
Recently uploaded
(8)
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
自分史上一番早い2024振り返り〜コロナ後、仕事は通常ペースに戻ったか〜 by IoT fullstack engineer
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
デジタル・フォレンジックの最新動向(2024年4月27日情洛会総会特別講演スライド)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
業務で生成AIを活用したい人のための生成AI入門講座(社外公開版:キンドリルジャパン社内勉強会:2024年4月発表)
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
AWS の OpenShift サービス (ROSA) を使った OpenShift Virtualizationの始め方.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
クラウドネイティブなサーバー仮想化基盤 - OpenShift Virtualization.pdf
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
モーダル間の変換後の一致性とジャンル表を用いた解釈可能性の考察 ~Text-to-MusicとText-To-ImageかつImage-to-Music...
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
CTO, VPoE, テックリードなどリーダーポジションに登用したくなるのはどんな人材か?
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
NewSQLの可用性構成パターン(OCHaCafe Season 8 #4 発表資料)
Ifcq o smeetup20190517_tokyo_8esp32iot
1.
interfaceオフ会 2019/5/17 interface 2019年5月号
オフ会 IoTサービス開発用フレームワーク 2019/5/17 宮田賢一
2.
interfaceオフ会 2019/5/17 自己紹介 宮田賢一 (Kenichi
Miyata) プログラムを書くのが趣味。 本業はスーパーコンピュータのOSやコンパイラの 研究開発(昔)やストレージ製品のOS開発など。 趣味では面白そうなマイコンデバイスの収集やク ラウドサービスの実験などをしています。 2 @kemusiro http://asamomiji.jp/contents/ 自作JR-100エミュレータ (Java 12kstep) 日々の実験結果をサイトで公開
3.
interfaceオフ会 2019/5/17 執筆した記事 3 Interface 2019年5月号 •
第1部第1章 IoT時代のモダンOSの世界 • 第1部第2章 定番IoT OSの研究 • 第1部第3章 モダンOSの機能を生かしたMy小型箱庭IoT • 第1部Appendix2 進化するArm本家のモダンOS「Mbed OS 5」
4.
interfaceオフ会 2019/5/17 1. ESP32でもっと遊びたい 4
5.
interfaceオフ会 2019/5/17 ESP32振り返り 5 • 最大クロック240MHz •
デュアルコア+省電力管理用(ULP)コア • 内蔵4MBフラッシュ • 豊富なペリフェラルと充実した開発用ライブラリ(ESP-IDF) • デュアルコア向けにチューニングされたFreeRTOS ……という高スペックなのに低価格(秋月で700円)なSoCです。 切手代のチップに、
6.
interfaceオフ会 2019/5/17 ESP32搭載のマイコンボード 6 上段左から • M5Stack
(M5Stack) • GR-LYCHEE (ルネサス) 下段左から • ESPr Developer 32 (スイッチサイエンス) • ESP32-DevKitC (Espressif) • ESP32-DevKitC-VB (Espressif) • HUZZAH32 (Adafruit) 初めてのESP32ならM5Stackがおすすめ。 ESP32をがりがりいじりたい人には公式ESP32-DevKitCやESPr Developer 32。 メモリを大量に食うアプリを開発するなら4MBのPSRAMをもつDevKitC-VB。 家の外でデモしたいならLiPoバッテリー接続可能なHUZZAH32。 ハイスペックな画像処理をしたいならGR-LYCHEEもアリ。
7.
interfaceオフ会 2019/5/17 ESP32の開発 7 プロトを作っていると楽しいのですが…… 心の叫び ESP-IDFはライブラリが豊富で作りたいプログラムを作 りやすい。公式のサンプルも充実している。 ⇨でも初期化コードとか毎回定型処理を書くのは面倒だ。 ⇨たくさんボードが増えてきたら、ファームを書き換えるの にUSBケーブルを差し替えたくない。コネクタが壊れる。 ⇨それなら自分用の便利ツールを作るか
8.
interfaceオフ会 2019/5/17 ちなみに ESP-IDFのライブラリ一覧 8 Bluetooth Bluetooth Controller
&& VHCI Bluetooth Common Bluetooth LE Bluetooth Classic Networking Wi-Fi Ethernet IP Network Layer Application Layer Peripherals ADC CAN DAC GPIO (including RTC low power I/O) I2C I2S LED Control MCPWM Pulse Counter Remote Control SDMMC Host SD SPI Host SDIO Slave SPI Master SPI Slave Timer Touch Sensor UART Protocols mDNS ESP-TLS HTTP Client HTTP Server HTTPS Server ASIO ESP-MQTT Modbus IP Network Layer Provisioning Unified Provisioning Protocol Communication Wi-Fi Provisioning Storage SPI Flash and Partition APIs SD/SDIO/MMC Driver Non-Volatile Storage NVS Partition Generation Utility Virtual Filesystem FAT Filesystem Wear Levelling SPIFFS Filesystem Mass Manufacturing Utility System FreeRTOS FreeRTOS Additions Heap Memory Allocation Heap Memory Debugging Himem (large external SPI RAM) API Interrupt Allocation Watchdogs eFuse Manager Inter-Processor Call High Resolution Timer Logging Event Loop Library Application Level Tracing Power Management Sleep Modes Over The Air Updates (OTA) ESP HTTPS OTA ESP pthread Error Codes and Helper Functions Miscellaneous System APIs Configuration Options Introduction Using sdkconfig.defaults Configuration Options Reference Customisations Error Codes Reference (2019/5/17現在)
9.
interfaceオフ会 2019/5/17 2. IoT Service
Framework 9
10.
interfaceオフ会 2019/5/17 こんなものを作りたい 10 ネットワーク経由で制御 いま流行りのIoTっぽく 面倒を避ける MQTTによる軽量メッセージング、Over-the-Air Update
(OTA) ESP32を活用。いずれは他のマイコンも? C++によるフレームワーク化
11.
interfaceオフ会 2019/5/17 作るシステム 11 FreeRTOS IoT Service
Framework リセット サービス OTA サービス 情報取得 サービス MQTT OTAWiFi TCP/IP ESP-IDF ユーザ開発 サービス ユーザ開発 サービス アドオン ESP32のFreeRTOSとESP-IDFを活用。 ネットワーク関係の処理やメッセージング処理はFramework側で吸収します。 まだ発展途上です
12.
interfaceオフ会 2019/5/17 ちょっと寄り道 C++で嬉しいこと(私見) 12 文字列処理の面倒から解放される。 char
*buf = malloc(...)とかrealloc()とか面倒 ⇨ C++なら std::string で可変長文字列の処理がすごく楽 クラスの継承が使える。 最初はMQTTでもいいけどCoAPとかHTTP/RESTも使いたい ⇨ 継承を使って抽象インターフェースを定義 foreachとか型推論とかラムダ式などの便利記法が使える (ESP32用のgccでは -std=c++14 が使えます) vector<int> list; for (auto v : list) { ... } pair<int, int> get_info() { return {val1, val2}; } transform(v->begin(), v->end(), t.begin(), [&a](double v){ return a * v; });
13.
interfaceオフ会 2019/5/17 作ったフレームワーク 13 ここで公開しています。 フレームワークのメイン https://github.com/kemusiro/iot32-base フレームワークで作成したサンプルサービス https://github.com/kemusiro/iot32-sample-services
14.
interfaceオフ会 2019/5/17 3. フレームワークを載せてみた 14
15.
interfaceオフ会 2019/5/17 フレームワークを載せてみた 15 ESP32-DevKitC-VB (ESP32-WROVER-B) ×2台 ESP32-DevKitC (ESP32-WROOM) ×6台 Raspberry Pi
3 Model B+ • MQTT Broker • HTTPSサーバ(OTA用) • WiFiアクセスポイント • DHCPサーバ
16.
interfaceオフ会 2019/5/17 デモ 16 リモートLチカ
温度センサーMCP9700による周期タスク HTTPによるファイルサーバ OTAアップデート
17.
interfaceオフ会 2019/5/17 コード例: リモートLチカ 17 BlinkService::BlinkService(const
int id, string const& name, const gpio_num_t portnum) : ServiceInterface(id, name), portnum(portnum) { // MQTTトピックの定義 コールバック関数を登録するだけで良い。 function_list.push_back(MqttClient::compose_topic({"BLINK/ON", to_string(id)})); function_list.push_back(MqttClient::compose_topic({"BLINK/OFF", to_string(id)})); // ESP-IDFによるGPIOの初期化 gpio_config_t conf; conf.intr_type = GPIO_INTR_DISABLE; conf.mode = GPIO_MODE_OUTPUT; conf.pin_bit_mask = 1ULL << portnum; conf.pull_down_en = GPIO_PULLDOWN_DISABLE; conf.pull_up_en = GPIO_PULLUP_DISABLE; gpio_config(&conf); } void BlinkService::mqtt_callback(esp_mqtt_event_handle_t event, string const& topic, string const& data) { vector<string> components = MqttClient::decompose_topic(topic); if (components[1] == "ON") { ESP_LOGI(TAG, "LED ON"); gpio_set_level(portnum, 1); // BLINK/ONがきたらGPIOポートのレベルをHIGHにする。 } else if (components[1] == "OFF") { ESP_LOGI(TAG, "LED OFF"); gpio_set_level(portnum, 0); // BLINK/OFFがきたらGPIOポートのレベルをLOWにする。 } } MQTTトピックに対するコールバック関数の 登録と、実体の定義をするだけ。
18.
interfaceオフ会 2019/5/17 コード例:リモートセンサー(1) 18 SensorService::SensorService(const int
id, string const& name, System* system, const adc1_channel_t channel) : ServiceInterface(id, name), system(system), channel(channel), sensing_in_progress(false) { function_list.push_back(MqttClient::compose_topic({"SENSOR/START", to_string(id)})); function_list.push_back(MqttClient::compose_topic({"SENSOR/STOP", to_string(id)})); // タスク生成 // ESP-IDFはCのAPIのためC++からはstaticなメソッドを渡す。 // その代わり、タスクのコンテキストとしてthis(自分自身のオブジェクト)を渡す。 xTaskCreatePinnedToCore(SensorService::task, name.c_str(), 8192, this, 3, &handle, 1); } void SensorService::mqtt_callback(esp_mqtt_event_handle_t event, string const& topic, string const& data) { // コールバック関数はなるべく早く抜けるべき。 // したがってタスクにメッセージを送信してすぐに終了する。 vector<string> components = MqttClient::decompose_topic(topic); if (components[1] == "START") { sensing_in_progress = true; } else if (components[1] == "STOP") { sensing_in_progress = false; } } Arduino風のsetup()、loop()っぽい実装も可能。 Setup() → コンストラクタ Loop() → タスク に相当する。 Arduinoと違って、並列動作するloop()を複数かけ るのもFreeRTOSのメリット
19.
interfaceオフ会 2019/5/17 コード例:リモートセンサー(2) 19 void SensorService::task(void
*parameter) { SensorService* context = (SensorService *)parameter System* system = context->system; MqttClient* transport = (MqttClient *)system->get_transport(); ostringstream os_topic; ostringstream os_payload; init_adc(); // ADCを初期化する。 os_topic << "SENSOR/" << system->get_identifier(); while (true) { if (context->sensing_in_progress) { uint32_t adc_reading = 0; for (int i = 0; i < 64; i++) { adc_reading += adc1_get_raw(context->channel); } adc_reading /= 64; // 64回電圧データを取得してその平均値を求める。 uint32_t voltage = esp_adc_cal_raw_to_voltage(adc_reading, adc_chars); //mV 単位の電圧値 // MCP9700は0℃のときに500mVを出力し、10mV/℃の温度係数を持つ。 double t = ((double)voltage - 500) / 10; os_payload << system->get_identifier() << " " << fixed << t << setprecision(2); esp_mqtt_client_publish(transport->client, os_topic.str().c_str(), os_payload.str().c_str(), 0, 1, 0); os_payload.str(""); } vTaskDelay(1000 / portTICK_PERIOD_MS); // 1000ms待つ。 }
20.
interfaceオフ会 2019/5/17 ニューラルネット (作成中) 20 誤差逆伝播によるニューラルネットを実装してみてますがオフ会に 間に合いませんでした……。継続して検討します。 やりたいこと:
MNISTの学習と数字画像認識サービスの実装 <課題> • MNIST(28×28の白黒ビットマップ、60000枚の学習データ)を学 習するにはESP32のメインメモリ(512KB)では全然足りない。 14×14に縮小、かつDevKitC-VB(PSRAM 4MB)でギリギリ。 (入力層196ノード、中間層25ノード、出力層10ノード) • 縮小版でも1回の学習に19秒かかる。 複数のESP32を使ったクラスタ計算に取り組んでみようと思います。
21.
interfaceオフ会 2019/5/17 今後の目標 21 フレームワークの小サイズ化
動作安定化 MicroPythonへの対応 他のデバイスへの実装(Mbedなど) 複数ESP32によるクラスタリング
22.
Thanks! ありがとうございました 22
Download now