物聯網(IOT)概念
生活應用
資料引用https://wellswoo.pixnet.net/blog/post/226960040-
架構圖
嵌入式系統(Embeded System)
圖片引用:梁文耀博士嵌入式智慧應用開源軟硬整合新趨勢
運作原理圖
開源系統概念
1.開放硬體及開源系統的價值
開放硬體的價值不是在學習哪一片電路板(不需拘泥在各種開發版硬體)而是學習自由軟體開源系統(Linux base)及參與社群
2.MPU及MCU
MCU開發版簡介
1.硬體
ARDUINO
ESP32
Raspberry(樹莓派) Pi Pico
2.開發程式軟體
開發Arduin及ESP32 程式,有幾種語言選擇:
(1)C/C++
(2)MicroPython
Arduino模擬器(simulator)概念與實作
優點:「物理計算」 它將軟體和硬體結合在一起,「以構建感知和回應現實世界的互動式物理系統」,能幫助工程師在實驗階段驗證不同的設計和演算法 缺點:忽略了與物理世界的聯繫 |
實作2-體驗嵌入式系統平台Online-Microblock IDE(泰國)
教學影片
資訊產業(IT)
1.特性
資訊產業又稱IT業、電腦工業,為一切與電腦相關的軟硬體行業總稱,有硬體製造的類似傳統工業模式也有軟體撰寫和客戶服務的服務業,自從90年代電腦革命後資訊業成為獲利豐厚的行業製造出許多世界首富,諸多國家也將資訊業設定為重點發展項目,資訊業的特性是競爭快、產品生命週期短、人才水準要求高、投入資本金額門檻高。
https://zh.wikipedia.org/wiki/%E8%B3%87%E8%A8%8A%E6%A5%AD
https://www.facebook.com/search/top?q=ivendor%E7%A7%91%E6%8A%80%E8%81%AF%E7%9B%9F
https://kopu.chat/2017/04/29/kopuchat/#comment-3407
資訊軟硬體產業之發展,在我國經濟扮演重要角色. 過去,我國硬體 ... 具有高附加價值率、盈餘率與勞動報酬等特性,此產業投入貢獻將與經濟成長. 有高度關聯
2.相關的職業
3.未來資訊產業發展趨勢
實作3-資訊產業(IT)相關生涯發展
MicroPython on ESP32簡介
MicroPython on ESP32軟硬體架構
Python物件導向程式設計方法
活動設計1: ESP32內建 LED Blink
程式執行成果
實作步驟
1.硬體接線
2.撰寫程式
程式碼:下載(程式補填法)
3.按一下模擬器畫面的三角形(開始模擬)鈕,內建藍色LED將重複一閃一滅
思考問題:
1.這樣的程式碼寫法有無改進的空間?(變數概念引入)
2.可以改變閃滅的時間長短嗎?
活動設計2: ESP32內建 LED Blink +印出文字
程式執行成果
2.修改ESP32內建 LED Blink 程式
程式碼:下載(程式補填法)
3.按一下模擬器畫面的三角形(開始模擬)鈕,內建藍色LED將重複一閃一滅外.文字視窗是否會有文字顯示?
活動設計3: 牛刀小試評量SOS LED Blink
摩斯密碼線上翻譯器操作
提示:程式碼下載(需修改)
活動設計4:ESP32外接 LED+電阻 Blink
程式執行成果
1.硬體接線
2.撰寫程式
程式碼:下載(程式除錯法)
3.按一下模擬器畫面的三角形(開始模擬)鈕,外接LED將重複一閃一滅
4.思考問題(Wokwi教學文件)
(1)LED可以改顏色嗎
(2)導線的顏色可以改嗎?
(3)電阻的方向可以改變嗎?
A.選取電阻物件按R鍵
B.點導線變虛線刪除
重新繪製電路圖
(4)如何修改檔名?
(5)如何存檔及下載到電腦?
(6)如何將作品分享?
思考問題:多色LED閃滅控制
(若教學時間不足將圖先畫完然後分享給學生.修改程式)
提示:程式碼下載(需修改)
進階自行創作
https://wokwi.com/projects/279890929738842636
活動設計5: ESP32 紅綠燈
程式執行成果
實作步驟
1.硬體接線
2.撰寫Led 程式(不同程式語法)
程式碼-下載(非完整.需自行增加程式碼)
3.按一下模擬器畫面的三角形(開始模擬)鈕,測試紅綠燈LED
思考問題:模擬交通號誌(智慧交通)?
活動設計6-RGB閃滅(可調整燈明亮.亦可模擬紅綠燈)
程式執行成果
實作步驟
1.硬體接線(RGB共陽極.COM接點接VCC)
2.撰寫Led 程式
程式碼:RGB基本ON或OFF下載(程式仿作或程式碼識讀)
3.按一下模擬器畫面的三角形(開始模擬)鈕,測試RGB LED
進階應用-RGB呼吸燈
ESP32的duty取值範圍為0 <= duty <= 1023
ESP32的PWM頻率範圍為0 < freq <= 78125
專案分享(修改程式碼方法.調整frq.duty)
Arduino-ESP32
https://esp32io.com/tutorials/esp32-rgb-led
活動設計7-NeoPixel(霓虹像素)(WS2812)
1.硬體接線
2.撰寫程式
程式碼:下載(修改程式碼方法.調整RGB)
3.按一下模擬器畫面的三角形(開始模擬)鈕,NeoPixel模組的RGB LED將輪流發光
自行創作七彩燈條
修改程式中RGB顏色代碼
活動設計8-DTH11(22)溫溼度感測器
通信——物聯網之魂
(1)串列通訊匯流排
UART通用非同步收發傳輸器(Universal Asynchronous Receiver/Transmitter)
實作步驟
1.硬體接線(RGB共陽極.COM接點接VCC)
2.撰寫程式
程式碼:下載(程式仿作或程式碼識讀)
3.按一下模擬器畫面的三角形(開始模擬)鈕,測試是否有顯示出溫溼度
活動設計9-OLED液晶模組 0.96吋 白色 12864點陣 SSD1306驅動 3.3V-5V 4線I2C介面規格書
(2)I²C(積體電路之間.積體匯流排電路 Inter-Integrated Circuit)
I²C通訊只需要2條雙向線:
SDA(serial data:串列資料線)
SCL(serial clock:串列時脈線)
教學影片
1.硬體接線
2.程式碼
3.修改程式碼修文字內容(中文無法顯示)測試
活動設計10-OLED SSD1306+DTH11(22)
物聯網技術底層知識
(1)Http Protocol(超文本傳輸協定)
HTTP是全球資訊網的數據通信的基礎
解說:
(2)MQTT(Message Queuing Telemetry Transport) 訊息序列遙測傳輸
1分20'開始看到3分15'
解說:
活動設計:體驗MQTT
教學影片
參考網站
進階物聯網實作
抓取NTP主機時間(Wifi)
在OLED螢幕顯示天氣概況(Wifi)
Temperature and Humidity using Franzininho, DHT22 and SSD1306
參考資料
https://docs.micropython.org/en/latest/
https://hackmd.io/@Zoyam/ByeHHYDKv
https://sites.google.com/a/nsysu.kksh.kh.edu.tw/tg02-1/nodemcu-32-esp32-iot-inquiry-teaching
http://www.1zlab.com/wiki/micropython-esp32/micropython-introduction/
https://lastminuteengineers.com/esp32-arduino-ide-tutorial/
https://docs.singtown.com/micropython/zh/latest/esp32/esp32/tutorial/index.html
https://wolles-elektronikkiste.de/en/programming-the-esp32-with-micropython
https://sites.google.com/site/wenyuwebbit/13-micropython%E5%AF%AB%E4%BD%9C
http://yhhuang1966.blogspot.com/2018/09/esp32-bpibit.html
https://www.programcreek.com/python/example/101394/machine.RTC
https://nkust.gitbook.io/micro-bit/shi-shi-yong-micropython