LASS - LinkIt Smart 7688Duo - 初始帶起

編輯歷史

時間 作者 版本
2016-04-21 14:10 – 14:12 Arthur Hsu r3655 – r3738
顯示 diff
(226 行未修改)
*Installation procedure:
* 1. install mt7688duo.ino by using Arduino IDE
- * 2. copy non-ino files into mylinkit.local:/root by scp
+ *
+ *Only Arduino IDE 1.6.5-r5 works. 1.6.4, 1.6.7, and 1.6.8 don't don't work. 2. copy non-ino files into mylinkit.local:/root by scp
* 3. ssh root@mylinkit.local
* chmod 755 mt7688duo_install.sh
(62 行未修改)
2016-04-11 00:51 – 00:52 wuulong sheu r3648 – r3654
顯示 diff
- LASS - LinkIt Smart 7688Duo
+ LASS - LinkIt Smart 7688Duo - 初始帶起
緣起
(290 行未修改)
2016-03-12 11:09 – 12:00 wuulong sheu r3536 – r3647
顯示 diff
(238 行未修改)
**README
*
- Q&A
+ Q
+
+
+ 如何中斷跑到一半的 mt7688duo.py
+ *連進另外一個 ssh,
+ *ssh root@mylinkit.local
+ * 找正在執行的 PID( process ID)
+ *ps
+ *ex: 1648 root 16016 S python mt7688duo.py
+ *停止它
+ *kill 1648&A
*為何我們不選沒有 Duo?
*可參考陪你問 Q7
(40 行未修改)
2016-01-14 01:47 – 01:48 wuulong sheu r3525 – r3535
顯示 diff
(267 行未修改)
*MP
*盡量讓 MCU 內的 code, general 化,使用一點點的 hack 出 LASS 必要的功能
- U 要求 MCU 感測,在多感測器情況下是要下多次命令還是只下一次命令
+ *要求 MCU 感測,在多感測器情況下是要下多次命令還是只下一次命令
*由於可能遇到感測器時間希望同步的問題,基本精神是下一次命令取回所有的感測器值。架構上也可以支援分開下命令
*需不需要將 Firmata 命令由 byte 改長一點,因為LASS sensor 命名為類似 d
(11 行未修改)
2016-01-01 21:51 – 21:53 wuulong sheu r3448 – r3524
顯示 diff
(219 行未修改)
*mjpg_streamer -i "input_uvc.so -f 20 -d /dev/video0" -o "output_http.so"
*http://mylinkit.local:8080?action=stream
- LASS installation
+ L
+
+ *Porting Verification code
+ *The original verification code Sensor-GroveGasSensorO2,Sensor-GroveMoisture,Sensor-GroveWaterSensor can still compile success
+ *Arduino SoftwareSerialExample compile succcessASS installation
*Installation procedure:
* 1. install mt7688duo.ino by using Arduino IDE
(55 行未修改)
2016-01-01 08:19 – 08:38 wuulong sheu r3251 – r3447
顯示 diff
(82 行未修改)
*mpu_setup()
* load_setting()
- * init_mpu_ctrl_thread()
- * init_wifi()
- *
+ * init_mpu_ctrl_thread())*
*mpu_loop()
*
- * if( wifi_not_ready )
- * wifi_connect
- *
+
* if( data_in_disk )
* send_all_by_mqtt()
(171 行未修改)
*原來設計類似單一個 Thread, 目前類似多了一個 senosr thread, 如何做好協同?
*在 Firmata 情境中,似乎周邊被 generalize 了,這對感測系統客製化是個概念上的升級,如何發揮這個特性?
- *MPU 要求 MCU 感測,在多感測器情況下是要下多次命令還是只下一次命令
+ *MP
+ *盡量讓 MCU 內的 code, general 化,使用一點點的 hack 出 LASS 必要的功能
+ U 要求 MCU 感測,在多感測器情況下是要下多次命令還是只下一次命令
*由於可能遇到感測器時間希望同步的問題,基本精神是下一次命令取回所有的感測器值。架構上也可以支援分開下命令
*需不需要將 Firmata 命令由 byte 改長一點,因為LASS sensor 命名為類似 d
(2 行未修改)
*如果要交給MPU的話,可以使用硬體方法(USB GPS receiver),也可以使用軟體方法(例如 Python 的 geolocation module: https://pypi.python.org/pypi/geolocation-python/0.2.0),似乎比較有彈性。
- **怎麼在 Firmdata 架構下使用 G3 (SPI 介面)
- *怎麼在 Firmdata 架構下使用 DHT22 (客製化 digital 介面)
+ **
+ *以主架構來說,感測器硬體能交給 MCU 就交給MCU, 如果能上 geolocation就最棒了,那用 MPU 比較合適。主要先看 geolocation 能不能在 MPU run怎麼在 Firmdata 架構下使用 G3 (SPI 介面)
+ *
+ *因為 一個 UART 用在 MPU<->MCU 通訊,一個 UART 最好留給 MCU 當debug console. 所以建議使用 Software Serial
+ *Software Serial Example
+ *在 Firmdata 架構下使用 DHT22 (客製化 digital 介面)
*找 沒有使用的 digital/analog pin, 在 MCU 中寫死這個 pin 的運作,然後假裝回傳
2015-12-31 00:15 – 00:27 wuulong sheu r3033 – r3250
顯示 diff
(45 行未修改)
*
*=> 簡單說就是最弱的 LASS 設備
+ *V0.0.3
+ *提供一個支援特別 sensor 的示意寫法。hack 一個 analog port 來給自己用
+ *py 用 pyfirmata.ArduinoDue 支援
*系統規格
*LASS 相關規格確認
(87 行未修改)
: MPU LASS 主程式*mt7688duo.ino
: MCU LASS 主程式
+ *
+ *
**是否多一個設定檔,規範每一個APP_ID使用哪些 sensor,以及相對應的 codes
- *好主意*
+ *好主意
+ 版本命名規則
+ *因為兩個主程式 ( mt7688duo.py/mt7688duo.ino)都需要協同運作
+ *我們需要一個方式能確認彼此的相容性,基本的原則就是相同的版本會相容,如果找不到相容的版本,找比他小最接近的那個版本。
+ *目前命名規則為
+ *當兩個程式一起被更新的時候,兩個程式必須為同版本
+ *mt7688duo.py:Setting.ver_app="0.0.3"
+ *mt7688duo.ino:VER_APP "0.0.3"
+ *當單獨被更新時,但版號小於對方時,請使用跟對方相同的版本
+ *比方說原本 mt7688duo.py:0.*.8, mt7688duo.ino:
+ .0.5, 此時更新 mt7688duo.ino 需要設定成 0.0.8
+ *當單獨被更新時,但版號大於等於對方時,請持續累加
+ *比方說原本 mt7688duo.py:0.0.8, mt7688duo.ino: 0.0.5, 此時更新 mt7688duo.py 需要設定成 0.0.9
應用規格
*參考農業感測計畫第一步
(116 行未修改)
2015-12-29 19:08 – 19:09 wuulong sheu r2967 – r3032
顯示 diff
(254 行未修改)
*GPS 要交給MPU or MCU?
*如果要交給MPU的話,可以使用硬體方法(USB GPS receiver),也可以使用軟體方法(例如 Python 的 geolocation module: https://pypi.python.org/pypi/geolocation-python/0.2.0),似乎比較有彈性。
+
+ **怎麼在 Firmdata 架構下使用 G3 (SPI 介面)
+ *怎麼在 Firmdata 架構下使用 DHT22 (客製化 digital 介面)
+ *找 沒有使用的 digital/analog pin, 在 MCU 中寫死這個 pin 的運作,然後假裝回傳
2015-12-29 13:31 – 13:33 wuulong sheu r2905 – r2966
顯示 diff
(200 行未修改)
*MQTT send: PASS
*pyFirmata read digital/analog: PASS
+
+ *視訊: PASS
+ *接上 Logitech C170 WebCAM
+ *mjpg_streamer -i "input_uvc.so -f 20 -d /dev/video0" -o "output_http.so"
+ *http://mylinkit.local:8080?action=stream
LASS installation
*Installation procedure:
(46 行未修改)
2015-12-29 11:52 – 12:21 wuulong sheu r2864 – r2904
顯示 diff
(30 行未修改)
Video Streaming
*[ Linkit smart 7688 ] 7688 影像串流功能
- *
+ pyfirmata
+ *firmata main firmata download firmata 2.1 Firmata Protocol Documentation
+ *Going Beyond StandardFirmata - Adding New Device Support
目前狀態
(214 行未修改)
2015-12-29 06:19 – 06:19 wuulong sheu r2844 – r2863
顯示 diff
(28 行未修改)
OpenWRT
*Beginner guide
+ Video Streaming
+ *[ Linkit smart 7688 ] 7688 影像串流功能
+ *
目前狀態
(214 行未修改)
2015-12-29 00:01 – 01:05 wuulong sheu r2597 – r2843
顯示 diff
(29 行未修改)
*Beginner guide
- 系統規格
+ 目前狀態
+ *V
+ .0.2
+ *經由簡單的修改能達到以下功能
+ *
+ *支援所有的 Digital read/write. Analog read
+ *感測值可以包成 LASS 標準格式
+ *將感測值發給 MQTT server
+ *同時可以 subscribe MQTT
+ *
+ *=> 簡單說就是最弱的 LASS 設備
+ *系統規格
*LASS 相關規格確認
*Features
(82 行未修改)
*github 目錄規劃
- *mt7688duo.py
- *mt7688duo.ino
- *是否多一個設定檔,規範每一個APP_ID使用哪些 sensor,以及相對應的 codes
- *
+
+ *mt7688duo_install.sh : 安裝腳本,只需執行一次*mt7688duo.py
+ : MPU LASS 主程式*mt7688duo.ino
+ : MCU LASS 主程式
+ **是否多一個設定檔,規範每一個APP_ID使用哪些 sensor,以及相對應的 codes
+
+ *好主意*
應用規格
(59 行未修改)
LASS installation
- *README
+ *Installation procedure:
+ * 1. install mt7688duo.ino by using Arduino IDE
+ * 2. copy non-ino files into mylinkit.local:/root by scp
+ * 3. ssh root@mylinkit.local
+ * chmod 755 mt7688duo_install.sh
+ * /root/mt7688duo_install.sh
+ *Running procedure:
+ * python mt7688duo.py
+
+ *Setup run when power up
+ *add one line to /etc/rc.local before exit
+ *python /root/mt7688duo.py
+ **README
*
Q&A
(18 行未修改)
*建議可以 support 雙環境,看社群的發展,主環境選擇用 Python
*主因是 Python 在各式各樣的情境都很適合用, LASS 在 Client/Server 環境中也已經大量使用。使用 LASS 的 User 不需要另外多學一個語言
-
- *如何在 7688 上 MQTT?
- *mosquitto on OpenWRT
- *若要當 MQTT client,用 Python 的 Paho module 就可以了 (https://pypi.python.org/pypi/paho-mqtt)
- *在雙 CPU 系統如何實現 LASS 設計精神?
+ **在雙 CPU 系統如何實現 LASS 設計精神?
*主架構與感測器客製化在概念上是區隔開來,也就是要客製化感測器的使用者,不用那麼瞭解整個主系統的運作
*不同的情境是用 APP_ID 來實現,如何讓兩 CPU 協同一個 APP_ID
(8 行未修改)
2015-12-28 14:24 – 14:44 wuulong sheu r2546 – r2596
顯示 diff
(177 行未修改)
*Successfully installed paho-mqtt
- *mt7688duo MQTT receive LASS data by quick porting lass.py
+ *mt7688duo
+ *MQTT receive LASS data by quick porting lass.py
+ *MQTT send: PASS
+ *pyFirmata read digital/analog: PASS
LASS installation
+ *README
*
Q&A
(36 行未修改)
2015-12-28 13:33 – 13:34 cclljj@gmail.com r2518 – r2545
顯示 diff
(118 行未修改)
*mt7688duo.py
*mt7688duo.ino
+ *是否多一個設定檔,規範每一個APP_ID使用哪些 sensor,以及相對應的 codes
*
(97 行未修改)
2015-12-28 12:49 – 13:21 wuulong sheu r2379 – r2517
顯示 diff
(160 行未修改)
*Firmware Upgrade
*Video
+
+ *Get start blink example: PASS
+ *6.6. Programming with Firmata Protocol: PASS
+
+ *Python as MQTT client
+ *
+ *pip install paho-mqtt
+ *Downloading/unpacking paho-mqtt
+ *Downloading paho-mqtt-1.1.tar.gz (41kB): 41kB downloaded
+ *Running setup.py (path:/tmp/pip_build_root/paho-mqtt/setup.py) egg_info for package paho-mqtt
+ *Installing collected packages: paho-mqtt
+ *Running setup.py install for paho-mqtt
+ *warning: build_py: byte-compiling is disabled, skipping.
+ *warning: install_lib: byte-compiling is disabled, skipping.
+ *Successfully installed paho-mqtt
+
+ *mt7688duo MQTT receive LASS data by quick porting lass.py
+
+ LASS installation
*
Q&A
(36 行未修改)
2015-12-27 14:13 – 14:19 cclljj@gmail.com r2290 – r2378
顯示 diff
(185 行未修改)
*如何在 7688 上 MQTT?
*mosquitto on OpenWRT
+ *若要當 MQTT client,用 Python 的 Paho module 就可以了 (https://pypi.python.org/pypi/paho-mqtt)
*在雙 CPU 系統如何實現 LASS 設計精神?
(7 行未修改)
,d1
*GPS 要交給MPU or MCU?
+ *如果要交給MPU的話,可以使用硬體方法(USB GPS receiver),也可以使用軟體方法(例如 Python 的 geolocation module: https://pypi.python.org/pypi/geolocation-python/0.2.0),似乎比較有彈性。
2015-12-27 12:37 – 12:42 wuulong sheu r2232 – r2289
顯示 diff
(46 行未修改)
*Video streaming
*System setting through web server
+ *support GPS ( gps sensor or other way)
系統架構
(60 行未修改)
*}
*
+ *Wifi應該是open wrt管理的⋯ 只要取得狀態就好了。
+ *Scenario #1: Through primitive UART connection 還需要設計進去
*
(78 行未修改)
*需不需要將 Firmata 命令由 byte 改長一點,因為LASS sensor 命名為類似 d
,d1
+ *GPS 要交給MPU or MCU?
2015-12-27 08:25 – 09:26 wuulong sheu r953 – r2231
顯示 diff
(11 行未修改)
*前人的規劃 Study
*系統設計
- *
+ *基本概念
*Arduino 讀取 ADC sensor 確認
*python 讀取 sensor 值確認
(13 行未修改)
*Beginner guide
- 系統設計
+ 系統規格
*LASS 相關規格確認
+ *Features
+ *Support MQTT protocol to send sensors data
+ *Wifi support auto-reconnect
+ *Support offline sensor storage to flash, auto upload sensors data when online
+ *Architecture support sensors customization
+ *The MQTT topic/msg coding must support LASS data specification
+ *LASS - Data specification
+ *LASS 資料格式
+ *MQTT server: gpssensor.ddns.net
+ *
+ *Additional features
+ *? Support Blynk mobile GUI interface
+ *Support alarm mode
+ *Video streaming
+ *System setting through web server
+
+ 系統架構
+
+ *主單元 - OpenWRT - MPU
+ *Wifi handle
+ *MQTT handler
+ *Setting
+ *Offline sensor storage
+ *
+ *感測控制單元 - Arduino - MCU
+ *active sensor to sensing
+ *control actuauor
+
+ *雙單元架構
+ *mpu_setup()
+ * load_setting()
+ * init_mpu_ctrl_thread()
+ * init_wifi()
+ *
+ *mpu_loop()
+ *
+ * if( wifi_not_ready )
+ * wifi_connect
+ *
+ * if( data_in_disk )
+ * send_all_by_mqtt()
+ * delete data_in_disk
+ *
+ * if(need_proc_result_queue)
+ * if(!wifi_ready)
+ * save_to_disk
+ * else
+ * send_mqtt()
+ *
+ *}
+ *mpu_ctrl_thread()
+ * if(need_send_cmd)
+ * send_readall_cmd_to_mcu()
+ *
+ * process_recv_from_mcu()
+ * pack_all_sensors_info()
+ * response_ctrl_if_needed()
+ * append_to_result_queue()
+ * sleep()
+ *
+ *mcu_setup(){
+ * serial_setup();
+ * library_setup();
+ * attach('a', callbackFunction read_all_sensors);
+ *}
+ *mcu_loop(){
+ * firmata_loop();
+ * extra_sensor_service();
+ *}
+ *
+ *read_all_sensors(){
+ * sendString('a', byte bytec, "packed_sensor_info")
+ *}
+ *extra_sensor_service(){
+ * service();
+ * if(need_notice_mpu)
+ * sendString() or send...
+ *}
+ *
+ *
+
+ *github 目錄規劃
+ *mt7688duo.py
+ *mt7688duo.ino
+ *
+
+ 應用規格
+ *參考農業感測計畫第一步
+ *感測器
+ *雨量 sensor
+ *土壤濕度
+ *水位計
+ *是否要用壓力感測器取代(便宜以及應用用途廣)
+ *人體紅外線感測器
+ *致動器
+ *Relay 控制
+ *影像監視
+ *
哈爸實做筆記
(40 行未修改)
*等待對兩個方案有更清楚的認知後,再看下一步怎麼做
- *
*
*
-
*該選 Python 還是 Node.js
*基本上 Python 與 Node.js 都是很高階,設計很好的環境,兩種都有很廣大的使用者,與使用情境。
(3 行未修改)
*如何在 7688 上 MQTT?
*mosquitto on OpenWRT
+
+ *在雙 CPU 系統如何實現 LASS 設計精神?
+ *主架構與感測器客製化在概念上是區隔開來,也就是要客製化感測器的使用者,不用那麼瞭解整個主系統的運作
+ *不同的情境是用 APP_ID 來實現,如何讓兩 CPU 協同一個 APP_ID
+ *原來設計類似單一個 Thread, 目前類似多了一個 senosr thread, 如何做好協同?
+ *在 Firmata 情境中,似乎周邊被 generalize 了,這對感測系統客製化是個概念上的升級,如何發揮這個特性?
+ *MPU 要求 MCU 感測,在多感測器情況下是要下多次命令還是只下一次命令
+ *由於可能遇到感測器時間希望同步的問題,基本精神是下一次命令取回所有的感測器值。架構上也可以支援分開下命令
+ *需不需要將 Firmata 命令由 byte 改長一點,因為LASS sensor 命名為類似 d
+ ,d1
2015-12-27 06:47 – 06:50 wuulong sheu r917 – r952
顯示 diff
(53 行未修改)
*CONFIG_TARGET_BOARD="ramips"
*make
+ *參考 Chapter 7
+ *7.1. Building a firmware => PASS (Ubuntu 15.04)
+ *#15-Ubuntu SMP Thu Apr 16 23:32:37 UTC 2015 x86_64 x86_64 x86_64 GNU/Linux
+ *
*Firmware Upgrade
*Video
(27 行未修改)
2015-12-27 04:55 – 04:55 wuulong sheu r912 – r916
顯示 diff
(44 行未修改)
*Follow installation
*=> 問題還在,沒有 target 可以選
- *改用 OpenWRT git 的來試試看
+ *改用 OpenWRT git 的來試試看, git clone git://git.openwrt.org/openwrt.git
*apt-get install gawk
*make menuconfig 可選到 MT7688
(35 行未修改)
2015-12-27 02:14 – 03:09 wuulong sheu r627 – r911
顯示 diff
(31 行未修改)
系統設計
*LASS 相關規格確認
+
+ 哈爸實做筆記
+ *由於板子還沒收到,沒事幹,先搞很花時間的
+ *OpenWRT
+ *感覺用 Mac 來 build OpenWRT 似乎有問題
+ *先換成 Linux 試試看。使用 VirtualBox + Ubuntu
+ *use pre-defined ubuntu image ( item 18, 15.04)
+ *Install guest addon
+ *Download MTK SDK, toolchain
+ *OpenWrt's build system – About
+ *OpenWrt build system – Installation
+ *Follow installation
+ *=> 問題還在,沒有 target 可以選
+ *改用 OpenWRT git 的來試試看
+ *apt-get install gawk
+ *make menuconfig 可選到 MT7688
+ *CONFIG_TARGET_ramips=y
+ *CONFIG_TARGET_ramips_mt7688=y
+ *CONFIG_TARGET_ramips_mt7688_LinkIt7688=y
+ *CONFIG_HAS_SUBTARGETS=y
+ *CONFIG_TARGET_BOARD="ramips"
+ *make
+ *Firmware Upgrade
+ *Video
+ *
Q&A
*為何我們不選沒有 Duo?
(24 行未修改)
2015-12-26 05:53 – 06:25 wuulong sheu r536 – r626
顯示 diff
(38 行未修改)
*
*In SDK 6.4, 我們該選擇什麼模式?
- *我們選擇 Scenario #2: Through Firmata protocol
+ *初期,我們選擇以下兩方案並行,基本上以某個 APP_ID為單位
+ *Scenario #1: Through primitive UART connection
+ *簡單,比較沒有 framework 的干擾。可能比較能處理控制端自主的方案
+ *
+ *Scenario #2: Through Firmata protocol
*在後面更多的使用者情境中,我們需要 Linux 當成主控平台,以及沒有必要直接處理 UART
+
+ *等待對兩個方案有更清楚的認知後,再看下一步怎麼做
+ *
+ *
+ *
*該選 Python 還是 Node.js
(6 行未修改)
2015-12-25 23:51 – 23:51 Chia-Chun Wu r534 – r535
顯示 diff
(43 行未修改)
*該選 Python 還是 Node.js
*基本上 Python 與 Node.js 都是很高階,設計很好的環境,兩種都有很廣大的使用者,與使用情境。
- *建議可以 support 雙環境,看社群的發展,主環竟選擇用 Python
+ *建議可以 support 雙環境,看社群的發展,主環境選擇用 Python
*主因是 Python 在各式各樣的情境都很適合用, LASS 在 Client/Server 環境中也已經大量使用。使用 LASS 的 User 不需要另外多學一個語言
(2 行未修改)
2015-12-25 20:59 – 22:06 wuulong sheu r3 – r533
顯示 diff
LASS - LinkIt Smart 7688Duo
- m0
+ 緣起
+ *好用,強悍,能有更多的應用,價格低,對未來更多的佈建有幫助
+
+ 規格
+ *LASS 選用 LinkIt Smart 7688 Duo
+
+ 步驟
+ *資料收集
+ *官網 Study
+ *前人的規劃 Study
+ *系統設計
+ *
+ *Arduino 讀取 ADC sensor 確認
+ *python 讀取 sensor 值確認
+ *上傳 MQTT
+ *Porting 現有架構進來
+ *個別子功能支援
+
+ 資料收集
+ 哈爸陪你問 - 如何成為 open hardware maker (LinkIt Smart 7688篇) - Q&A
+ SDK SDK-Web
+ PinOut
+ HDK HDK-Web
+ Datasheet
+ Duo get start
+ LASS 移植 LinkIt 7688 Duo 初步規劃與研究
+ OpenWRT
+ *Beginner guide
+
+ 系統設計
+ *LASS 相關規格確認
+ Q&A
+ *為何我們不選沒有 Duo?
+ *可參考陪你問 Q7
+ *主因是因為 LASS 精神是讓大家可以客製化感測器,所以感測器能夠支援的周邊就盡可能要能多元,而且不希望使用者遇到太多的技術問題。
+ *Duo 支援 Arduion IDE, 又使用 Atmel 的MCU, 符合這些系統要求
+ *
+ *In SDK 6.4, 我們該選擇什麼模式?
+ *我們選擇 Scenario #2: Through Firmata protocol
+ *在後面更多的使用者情境中,我們需要 Linux 當成主控平台,以及沒有必要直接處理 UART
+
+ *該選 Python 還是 Node.js
+ *基本上 Python 與 Node.js 都是很高階,設計很好的環境,兩種都有很廣大的使用者,與使用情境。
+ *建議可以 support 雙環境,看社群的發展,主環竟選擇用 Python
+ *主因是 Python 在各式各樣的情境都很適合用, LASS 在 Client/Server 環境中也已經大量使用。使用 LASS 的 User 不需要另外多學一個語言
+
+ *如何在 7688 上 MQTT?
+ *mosquitto on OpenWRT
2015-12-25 20:59 (unknown) r2
顯示 diff
(3 行未修改)
2015-12-25 20:59 wuulong sheu r1
顯示 diff
LASS - LinkIt Smart 7688Duo
+
+ m0
2015-12-25 20:59 (unknown) r0
顯示 diff
-
+ LASS - LinkIt Smart 7688Duo