本站之任何內容如有侵權/冒犯請立即通知: terrychan999@gmail.com

Topic:
Raspberry Pi + Sensor 利用Restful API實踐簡易IOT之概念


0617048 詹元耀

Hardware


Raspberry Pi model 3 b+
micro SD card kingston class 10 16g
Standard I/O
        Mouse & Keyboard & Screen

each x1
Wireless Router x1
USB adapter PQI 40w (each max 5v 2.4A)
Micro USB Type-b x1
Sensors : BME280 x1 datasheet / product official

device 圖片集(懶得排版...)

System Installation


1.將SD卡插入電腦中

2.使用SD Formatter格式化SD卡    
3.從官網下載最新版Raspbian (https://downloads.raspberrypi.org/raspbian_latest)
4.下載燒錄工具Etcher (https://www.balena.io/etcher/)
5.打開Etcher選擇下載好的system image: 2018-11-13-raspbian-stretch.zip然後選擇插入的sd卡然後Flash!
6.燒錄好之後就可以插入Raspberry Pi 直接開機

alternative: New Out Of the Box Software(NOOBS)安裝法 (在線安裝法) https://www.raspberrypi.org/downloads/noobs/

Sensor 架設:

1.簡單設定完Raspbian後首先先把SSH、I2C、遠端GPIO打開, 這樣一來就可以不用螢幕的操控Raspberry Pi了~
2.由於sensor是走I2C所以將個別腳位插上對應的gpio
3.接下來去下載raspberry pi的bme280 python module
4.pre-test看看能不能用(調成1080p會比較清晰~)(右上角可以在新視窗看(更大更好看~))

5.成功了之後就可以對它為所欲為了~(๑•̀ㅂ•́)و✧

Firebase:

1.這裡將使用Google的Firebase作為DataServer, 它是一個很強大的"backend as a service" (BaaS)平台, 而且在一定額度內的使用是免費的
2.首先先建立專案

3.接下來在控制頁面左邊點選Database然後建立Realtime Database(先選擇以測試模式啟動, 避免I/O出問題)

4.接下來就要寫程式腳本(python)了

5.Demo (調成1080p會比較清晰~)(右上角可以在新視窗看(更大更好看~))(怎麼跟剛剛一樣)(請上下螢幕一起服用)

下一步(未完成):

1.數據分析
2.存取(ex:可看的網頁、手機app...)
3.python後臺運行(可用tmux或screen之類的實現)
4.firebase rule改成Authentication key(提升安全隱私)

心得:

        Raspberry Pi的C/P值真的是很高阿, NTD1300的價格可以買到4核64-bit ARM Processor附帶多功能I/O介面, 比Arduino Yún這種半殘MCU(8-Bit Microcontroller + MIPS 24k processor)強太多了(順帶一題: Arduino Yún Rev2定價目前是USD59.00)
號外~ 更便宜性能更強的開發版 (不過還在募資階段)
原本還打算將啟動磁碟改成外接式硬碟(SD當System Disk有點勉強), 但由於Raspberry Pi的供電實在是太爛了, 所以在改裝後會讓整個系統變得不穩定, 具體解決方案要從Raspberry Pi的供電模組著手才行...
改造usb啟動參考連結: https://www.raspberrypi.org/documentation/hardware/raspberrypi/bootmodes/msd.md

Reference:

Using the BME280 I2C Temperature and Pressure Sensor in Python
[ Raspberry Pi ] 透過 Python 傳送溫溼度資訊到 Google Firebase
物聯網概論 (交大資工系; 2017 年秋季)