Recommended
PDF
Introduce Toaster (Toasterのご紹介)
PPTX
Appium with MySQL Database
PDF
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
PDF
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
PDF
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
PPTX
PDF
PPTX
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
PDF
Unreal Engine 4 Education 2 UnityとUE4の違いは?
PDF
PDF
PDF
FridaによるAndroidアプリの動的解析とフッキングの基礎
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
こんなに使える!今どきのAPIドキュメンテーションツール
PDF
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
PDF
PDF
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
PDF
PDF
CentOS Linux 8 の EOL と対応策の検討
PPTX
PPTX
使い倒そう Visual Studio Code!~クラウド連携や遠隔ペアプロ、 もちろん Git も便利に~
PDF
OpenStack-ansibleで作るOpenStack HA環境 Mitaka版
PDF
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
PPTX
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
PDF
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
PDF
PDF
More Related Content
PDF
Introduce Toaster (Toasterのご紹介)
PPTX
Appium with MySQL Database
PDF
そろそろ知っておきたい!!コンテナ技術とDockerのキホン
PDF
PDF
Docker入門-基礎編 いまから始めるDocker管理【2nd Edition】
PDF
PDF
Dockerライフサイクルの基礎 地雷を踏み抜けろ!
PPTX
What's hot
PDF
PPTX
NginxとLuaを用いた動的なリバースプロキシでデプロイを 100 倍速くした
PDF
Unreal Engine 4 Education 2 UnityとUE4の違いは?
PDF
PDF
PDF
FridaによるAndroidアプリの動的解析とフッキングの基礎
PPTX
ネットストーカー御用達OSINTツールBlackBirdを触ってみた.pptx
PDF
こんなに使える!今どきのAPIドキュメンテーションツール
PDF
MySQL・PostgreSQLだけで作る高速でリッチな全文検索システム
PDF
PDF
【Unite Tokyo 2019】Unity Test Runnerを活用して内部品質を向上しよう
PDF
Docker入門: コンテナ型仮想化技術の仕組みと使い方
PDF
PDF
CentOS Linux 8 の EOL と対応策の検討
PPTX
PPTX
使い倒そう Visual Studio Code!~クラウド連携や遠隔ペアプロ、 もちろん Git も便利に~
PDF
OpenStack-ansibleで作るOpenStack HA環境 Mitaka版
PDF
MySQL Casual Talks Vol.4 「MySQL-5.6で始める全文検索 〜InnoDB FTS編〜」
PPTX
リアルタイムサーバー 〜Erlang/OTPで作るPubSubサーバー〜
PDF
OSC2011 Tokyo/Spring 自宅SAN友の会(前半)
Similar to ESP8266EXで位置推定
PDF
PDF
PDF
2016年11月19日 AITCシニア技術者勉強会 第1回「Arduinoを使ってみる」
PDF
Esp8266が便利すぎて 開発ボードを作ってみた話
PDF
PDF
3台以上のarduinoでのspi通信 2017 07-20
PPTX
PPTX
2015/05/23 シニア技術者プログラム第3弾 「第二回IoT勉強会&交流会」 15:00~15:20 Arduinoで簡単回路作成実演
PDF
Make: Ogaki Meeting 2012 Androidロボットサミットin大垣
PDF
KEY
DE0でラジコンカー作ってみた 関西de0 fpga勉強会20120519
PDF
Platform io で シュッと arduino 開発を高速化しよう speed up your arduino development with p...
PDF
20140910 Arduino for beginners
PPTX
Lチカで終わらせないArduino シリアル通信 Part1(移行済)
PDF
Arduinoでプログラミングに触れてみよう 続編
PDF
Arduinoで遊ぼう #1Processingと連携する
ODP
KEY
PDF
OSC Tokyo 2013 Spring JRPUG
PDF
ネットにつながれない君たちに贈る。ノンプログラミングでESP8266を15分でネットに繋げる方法@io tlt
More from nishio
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
PDF
首都大学東京「情報通信特別講義」2016年西尾担当分
PPTX
PDF
PDF
ESP8266EXで位置推定 1. 2. 3. 4. 5. 6. 7. 8. 9. 設定方法
Arduino 1.6.4 からはサードパーティ製のパッ
ケージが簡単にインストールできるBoard
Managerが追加されたので
“Installing with Boards Manager” *
の通りにやれば手軽。
9
* https://github.com/esp8266/Arduino#installing-with-boards-manager
Start Arduino and open Preferences window.
Enter http://arduino.esp8266.com/stable/package_esp8266com_index.json into
Additional Board Manager URLs field. You can add multiple URLs, separating them with
commas.
Open Boards Manager from Tools > Board menu and install esp8266 platform (and don't
forget to select your ESP8266 board from Tools > Board menu after installation).
10. 11. 12. 13. (余談)2割でWifi、残りを使う
ESP8266EX is embedded with Tensilica L106 32-
bit micro controller (MCU), which features extra
low power consumption and 16-bit RSIC. The
CPU clock speed is 80MHz. It can also reach a
maximum value of 160MHz. Real Time Operation
System (RTOS) is enabled. Currently, only 20% of
MIPS has been occupied by the WiFi stack, the
rest can all be used for user application
programming and development.
13
http://download.arduino.org/products/UNOWIFI/0A-ESP8266-Datasheet-EN-v4.3.pdf
14. 15. 16. 17. 18. Q&A
Q: 1/16秒って短くない?
A: Arduino IDEはソフトウェア的に
リセットピンも操作するので、
リセット直後にコマンドを送れる。
18
ATMEGA168の1番ピン(RESET)が
通常時はプルアップされていて
スケッチ書き込み時には
USBシリアル変換基板がLOに
引っ張る仕組み
19. 20. 21. 22. 23. 24. 25. 26. 27. 28. 29. 30. 31. 32. 33. 34. 35. Baudが途中で変化している
初回メッセージは74880Baudだが
続きのゴミは115200Baudで見ると、定期的に
よく似たメッセージが送られてきている
35
ets Jan 8 2013,rst cause:2, boot mode:(3,2)
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09f0c112
~ld
ets Jan 8 2013,rst cause:4, boot mode:(3,2)
wdt reset
load 0x4010f000, len 1384, room 16
tail 8
chksum 0x2d
csum 0x2d
v09f0c112
~ld
初回メッセージ
(74880Baud)
定期的メッセージ
(115200Baud)
36. 37. 38. 39. 40. 41. 42. 43. 44. 45. 46. 47. 48. 49. 50. 51. 52. 電気二重層キャパシタで駆動
52
** Scan Networks **
number of available networks:15
(略: スキャンに成功)
** Scan Networks **
Exception (0):
epc1=0x4020f601 epc2=0x00000000 epc3=0x00000000 excvaddr=0x00000000 depc=0x00
ctx: sys
sp: 3ffffda0 end: 3fffffb0 offset: 01a0
>>>stack>>>
3fffff40: 40204df0 00000000 3ffe94e0 3ffe94ec
3fffff50: 00000000 00000103 00000000 0000001b
3fffff60: 00000000 ffffffff 40204a3f 3ffec6a0
3fffff70: 3ffe94e0 3fffdcc0 3ffe8c80 3ffe8c80
3fffff80: 00000050 3ffec6a0 3fffdab0 00000000
3fffff90: 40204367 3fffdab0 00000000 402029a3
3fffffa0: 3ffe8c80 40000f49 3fffdab0 40000f49
<<<stack<<<
「@ェrjrA(!鬼ヒu巾奚XヒQ兊�ム*!Bス瘰�
電源を切っても
1回スキャンに成功する。
2回目で死ぬ。
53. 54. 55. 56. 57. 58. 59. 60. SPIFFS
SPI Flash File System
ESP8266EX上のフラッシュメモリ上に
ファイルシステムを作ってそこに書きこむ
フラッシュメモリがそもそも4MBあって、
そのうち設定によって1Mか3Mを
ファイルシステムとして使える(意外と広い)
60
https://github.com/esp8266/Arduino/blob/master/doc/filesystem.md
61. 62. 63. 64. 実際のコード(メモ)
←setup
64
if (!SPIFFS.begin()) {
Serial.println("Failed to mount file system");
return;
}
File f = SPIFFS.open("/data", "a");
if(!f) {
Serial.println("file write error");
return;
}
f.print("class,");
f.println(btnBlack);
for (int thisNet = 0; thisNet < numSsid;
thisNet++) {
f.print(WiFi.SSID(thisNet));
f.print(",");
f.println(WiFi.RSSI(thisNet));
}
f.print("finish,0");
f.close();
周辺のWifiアクセスポイントを
スキャンしてSSIDと電波強度と
その時に押されていたボタンと
をファイルに追記
65. 66. 実際のコード(メモ)
66
void printFileContent(){
File f = SPIFFS.open("/data", "r");
if(!f) {
Serial.println("file read error");
return;
}
Serial.println("open");
while(1){
String line = f.readStringUntil('¥n');
if(line.length() == 0) break;
Serial.println(line);
}
f.close();
Serial.println("close");
SPIFFS.remove("/data");
}
if(Serial.available() > 0){
String s = Serial.readStringUntil('¥n');
if(s.startsWith("show")){
printFileContent();
toScan = false;
}
67. 68. サイズ感
SPIFFSとESP8266Wifiを使ったコードでも
まだまだ余裕がある。
68
最大434,160バイトのフラッシュメモリのうち、スケッチが221,999バイト
(51%)を使っています。
最大81,920バイトのRAMのうち、グローバル変数が31,564バイト(38%)を
使っていて、ローカル変数で50,356バイト使うことができます。
最大434,160バイトのフラッシュメモリのうち、スケッチが252,029バイト
(58%)を使っています。
最大81,920バイトのRAMのうち、グローバル変数が33,076バイト(40%)
を使っていて、ローカル変数で48,844バイト使うことができます。
再掲:空っぽのスケッチ(p.22)
69. 70. 71. 72. 寄与率
25階の匠大塚
HW01Fはモバイ
ルWifiっぽい
72
[(-0.75174650644165308, 'Endo_Lighting_GW_BC863D'),
(-0.32922164450111607, '203Za-479863'),
(-0.16863513660418045, 'CB_PERSONAL'),
(-0.15253474410936466, 'takumi-otsuka'),
(-0.13745041107642145, '305ZT-OPRO7'),
(-0.11052354781540112, 'takumi-office'),
(-0.10845149321438578, 'GUEST@CYBOZU'),
(0.0, 'URoad-9BFA78'),
(0.0, 'URoadWPS-9BFA79'),
(0.0, 'logitecgameuser'),
(8.2469479800687644e-06, 'CWLOG'),
(0.0086698186017501577, 'D_MAC_VOICE'),
(0.014008637452839746, 'Den of Cavy'),
(0.037548926177205628, 'aterm-d2be63-gw'),
(0.047522837348979427, 'aterm-d2be63-g'),
(0.15630282157435069, 'CBWIRELESSLAN'),
(0.16803078872845839, 'HW01F-B37A33'),
(0.24211192295107467, 'HW01F-B369AF'),
(0.30078688910126239, 'SlankDevNet'),
(0.33380203768152689, 'HW01F-B378EB'),
(0.46999316370163002, 'GL06P-0863615DD918'),
(0.50892947486630757, 'Cykoknak')]
73. 74.