MicroPython開發與實戰

《MicroPython開發與實戰》是北京航空航天大學出版社2022年1月1日出版圖書。

基本介紹

  • 中文名:MicroPython開發與實戰 
  • 出版時間:2022年1月1日
  • 出版社:北京航空航天大學出版社
  • ISBN:9787512436787
  • 開本:16 開
  • 裝幀:平裝
  • 版次:1
  • 商品編碼:13059375
  • 品牌:北京航空航天大學出版社
  • 用紙:膠版紙
內容簡介,目錄,

內容簡介

本書共分為9章。第1~3章主要介紹MicroPython以及Python語言基礎;第4~5章重點針對ESP32與MicroPython的實踐性操作;第6~7章重點闡述MicroPython在物聯網的套用;第8章展現如何修改MicroPython源碼與添加自定義庫的方法;第9章為一個智慧型農業的項目實踐。
本書對智慧型物聯網時代面臨的挑戰,以及MicroPython的基礎知識做了清晰的闡述,有助於讀者整理思路,了解需求,並更有針對性、有選擇地深入學習相關知識。

目錄

第1章MicroPython介紹1
1.1MicroPython的起源1
1.2MicroPython的發展 2
1.3MicroPython與Pyboard的關係2
1.3.1MicroPython與Pyboard介紹2
1.3.2Pyboard與傳統嵌入式開發板的關係3
1.3.3學習MicroPython是否還需要學習以C語言為首的嵌入式開發3
1.4MicroPython 系統結構3
1.5MicroPython的優勢3
1.5.1編譯環境3
1.5.2操作難度3
1.5.3程式結構4
1.5.4編寫方式4
1.5.5易讀性4
1.6MicroPython的套用5
1.6.1智慧型儀器5
1.6.2工業控制5
1.6.3家用電器5
1.6.4網路和通信5
1.6.5醫用設備領域6
1.6.6模組化系統6
1.6.7汽車電子6
1.6.8其他6
1.7Python環境搭建6
1.7.1IDLE下載6
1.7.2安裝7
1.7.3第一個Python程式10
第2章Python語法基礎13
2.1關鍵字13
2.2標識符14
2.2.1概念14
2.2.2標識符的規則14
2.2.3命名規則14
2.3注釋15
2.3.1注釋的分類15
2.3.2Python程式支持中文17
2.4變數和變數的類型17
2.4.1變數17
2.4.2變數的類型18
2.4.3進制轉換20
2.5輸出和輸入21
2.5.1輸出21
2.5.2輸入24
2.6運算符27
2.6.1算術運算符27
2.6.2賦值運算符28
2.6.3關係(比較)運算符29
2.6.4邏輯運算符30
2.6.5位運算符30
2.6.6移位運算符33
2.7表達式34
2.7.1表達式的類型和值34
2.7.2表達式的運算順序34
2.7.3優先權34
2.8程式流程控制35
2.8.1順序結構35
2.8.2選擇結構35
2.8.3循環結構36
2.9判斷結構37
2.9.1if語句38
2.9.2if else語句39
2.9.3多重if語句40
2.9.4if嵌套語句42
2.10邏輯結構43
2.10.1while循環43
2.10.2for循環47
2.11特殊流程控制語句48
2.11.1break語句48
2.11.2continue語句49
2.11.3break、continue語句的比較50
2.12字元串(str)50
2.12.1基本概念50
2.12.2創建字元串51
2.12.3字元串的輸出與輸入51
2.12.4遍歷字元串52
2.12.5常用函式54
2.13列表(list)59
2.13.1基本概念59
2.13.2遍歷列表60
2.13.3常用函式62
2.13.4列表嵌套66
2.14元組(tuple)68
2.15字典(dict)69
2.15.1基本概念69
2.15.2根據鍵訪問值70
2.15.3常用函式71
2.15.4遍歷字典74
2.16函式簡介76
2.16.1引入函式76
2.16.2基本概念78
2.17函式定義與調用78
2.17.1基本使用78
2.17.2文檔說明79
2.17.3參數80
2.17.4返回值84
2.17.5函式的類型87
2.17.6函式的嵌套89
2.17.7案例練習90
2.18局部變數與成員變數92
2.18.1局部變數92
2.18.2成員變數93
第3章Python多執行緒97
3.1執行緒簡介97
3.1.1基本概念97
3.1.2為什麼需要多執行緒97
3.1.3進程與執行緒的區別99
3.2執行緒的創建與啟動100
3.2.1threading模組簡介100
3.2.2Thread類101
3.3執行緒的生命周期106
3.3.1執行緒的狀態106
3.3.2執行緒阻塞107
3.3.3執行緒加入108
3.4共享成員變數例程109
3.4.1成員變數為不可變類型109
3.4.2成員變數為可變類型110
3.5執行緒同步例程111
3.5.1引入問題111
3.5.2處理方式1:Lock類112
3.5.3處理方式2:使用Lock進行同步處理114
3.6擴展知識115
3.6.1死鎖例程 115
3.6.2生產者與消費者模型119
3.6.3local類123
第4章開啟MicroPython for ESP32之旅126
4.1準備工作126
4.1.1硬體平台126
4.1.2Windows PwoerShell安裝127
4.1.3CP210x串口驅動安裝128
4.1.4ESP32固件下載129
4.2ESP32固件燒錄130
4.3進入Pyboard132
4.4在Pyboard上運行Python程式132
第5章ESP32網路基礎使用135
5.1連線WiFi135
5.2開機自動連線WiFi136
5.3獲取系統時間136
5.3.1什麼是NTP136
5.3.2方法137
5.3.3實例137
5.4urequests下載網頁數據137
5.5Python3&MicroPython的socket模組137
5.5.1socket的定義137
5.5.2socket工作流程138
5.5.3socket模組的宏139
5.5.4socket模組的API139
5.6利用socket下載網頁數據141
5.7利用socket實現ESP32的網路通信141
5.7.1伺服器端142
5.7.2Client客戶端142
5.7.3程式運行143
5.8收看星球大戰字元動畫144
第6章MicroPython for ESP32硬體控制146
6.1NodeMCU32S開發板引腳說明146
6.2知識儲備147
6.2.1模擬信號148
6.2.2數位訊號148
6.2.3高/低電平148
6.3Pin例程148
6.3.1構造對象149
6.3.2方法150
6.4延時例程151
6.5PWM與呼吸燈例程152
6.5.1PWM脈寬調製技術152
6.5.2構造對象153
6.5.3方法153
6.5.4PWM控制LED的亮度154
6.5.5呼吸燈155
6.6ADC例程156
6.6.1構造對象156
6.6.2方法156
6.7RTC例程157
6.7.1構造對象157
6.7.2初始化RTC 時間158
6.7.3查看RTC時間158
6.7.4缺陷158
6.8Timer例程159
6.8.1構造對象159
6.8.2初始化定時器159
6.8.3釋放定時器資源159
6.8.4定時器控制LED燈閃爍159
6.9串口UART例程160
6.9.1常用通信協定分類及其特徵160
6.9.2UART接口162
6.9.3UART數據幀格式162
6.9.4UART四要素163
6.9.5ESP32中串口的硬體資源情況163
6.9.6構造對象163
6.9.7方法164
6.9.8ESP32串口通信——字元串自收發實驗165
6.10SPI例程166
6.10.1SPI匯流排接口與物理拓撲結構167
6.10.2SPI匯流排通信原理168
6.10.3SPI匯流排數據格式168
6.10.4ESP32中SPI的硬體資源情況169
6.10.5構造對象169
6.10.6方法171
第7章MQTT與阿里雲平台實戰173
7.1物聯網173
7.2為何要用MQTT173
7.3MQTT套用174
7.4MQTT協定分析174
7.4.1主要特點174
7.4.2其他概念175
7.5MQTT數據包格式176
7.5.1數據包類型176
7.5.2可變報頭177
7.5.3有效負荷177
7.6創建產品177
7.7產品物模型自定義179
7.8創建單個設備181
7.9使用MQTT.fx接入物聯網平台前提條件182
7.10使用MQTT.fx接入182
7.11下行通信測試185
7.12上行通信測試186
7.13查看日誌187
7.14MicroPython使用MQTT連線阿里雲前期準備188
7.15MicroPython(ESP32)安裝MQTT庫188
7.16MicroPython連線阿里雲伺服器188
7.16.1方法188
7.16.2運行189
7.17MicroPython(ESP32)作MQTT訂閱者189
7.18MicroPython(ESP32)作MQTT發布者191
第8章MicroPython for STM32F4193
8.1源碼下載193
8.2MicroPython編譯環境搭建196
8.2.1VMware安裝196
8.2.2Ubuntu安裝到VMware197
8.3移植MicroPython到自己的開發板上207
8.3.1源碼準備207
8.3.2移植208
8.3.3編譯212
8.3.4DFU固件燒寫213
8.4運行Pyboard腳本216
8.4.1編輯main.py216
8.4.2重置開發板216
8.5PuTTY調試TPYBorad216
8.6創建自定義類庫218
8.7創建module219
8.7.1創建無function的module220
8.7.2給module添加無參數的function222
8.7.3給module添加帶參數的function223
8.8在module中添加type225
8.8.1創建一個無function的空type到module中225
8.8.2給type添加無參數的function227
8.8.3給type添加帶參數的function228
第9章項目實踐231
9.1項目簡介231
9.2OLED液晶顯示屏232
9.2.1SSD1306介紹232
9.2.2SSD1306接口233
9.2.3連線233
9.2.4例程分析234
9.2.5取模工具使用236
9.2.6代碼及現象237
9.2.7重難點歸納239
9.3空氣溫濕度採集239
9.3.1DTH11驅動239
9.3.2獲取溫濕度值241
9.3.3MicroPython中的DHT模組241
9.3.4實驗現象242
9.3.5重難點歸納243
9.4環境光照強度測量243
9.4.1工作原理243
9.4.2接口說明243
9.4.3例程分析243
9.4.4實驗現象 245
9.4.5重難點歸納245
9.5雨水檢測245
9.5.1工作原理245
9.5.2連線說明246
9.5.3例程分析246
9.5.4運行現象247
9.5.5重難點歸納247
9.6煙霧濃度檢測248
9.6.1工作原理248
9.6.2使用說明248
9.6.3連線248
9.6.4例程分析249
9.6.5實驗現象249
9.6.6重難點歸納249
9.7舵機控制澆灌250
9.7.1工作原理250
9.7.2連線252
9.7.3例程分析252
9.7.4重難點歸納252
9.8入侵監測252
9.8.1功能特點253
9.8.2使用說明254
9.8.3連線254
9.8.4例程分析255
9.9照明控制255
9.10雲伺服器平台創建256
9.11項目綜合256
附錄257
參考文獻263

相關詞條

熱門詞條

聯絡我們