幾年前做項目時第一次聽說Python,朋友強力推薦。對于這位老大,我幾乎每次和聆聽完指導后的第一件是就是百度剛才那些我不聽不明白的專業術語。
Python is a clear and powerful object-oriented programming language, comparable to Perl, Ruby, Scheme, or Java.
Some of Python's notable features:
· Uses an elegant syntax, making the programs you write easier to read.
· Is an easy-to-use language that makes it simple to get your program working. This makes Python ideal for prototype development and other ad-hoc programming tasks, without compromising maintainability.
· Comes with a large standard library that supports many common programming tasks such as connecting to web servers, searching text with regular expressions, reading and modifying files.
· Python's interactive mode makes it easy to test short snippets of code. There's also a bundled development environment called IDLE.
· Is easily extended by adding new modules implemented in a compiled language such as C or C++.
· Can also be embedded into an application to provide a programmable interface.
· Runs anywhere, including Mac OS X, Windows, Linux, and Unix.
· Is free software in two senses. It doesn't cost anything to download or use Python, or to include it in your application. Python can also be freely modified and re-distributed, because while the language is copyrighted it's available under an open source license.【1】
簡言之,Python是一種面向對象的解釋型計算機程序設計語言,是純粹的自由軟件, 源代碼和解釋器。Python遵循 GPL(GNU General Public License)協議[2] 。它具有豐富而強大的庫,常被昵稱為膠水語言。能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯結在一起,應用于任何平臺,而且還有我們最喜歡的開源 、免費噢!
如果不想每天面對計算機如此的多國語言,不如選一兩種通用語。難得它能在嵌入式開發的平臺上行得開,那就來進一步熟悉吧!
1、開發板硬件測評
先從某寶上購得PYBOARD V702一塊,先來看看外觀;
底板硬件資源如下:
配上Nokia5110的SPI接口LCD屏,組成上一個完整的傳輸系統。來個全家照吧!
TPYBoard_V702是遵照MIT許可的MicroPython開發板,支持Python語言的通信定位開發板。板載資源豐富,列表如下:
1)主處理器
它的主處理器為ARM CORTEX-M4系列的STM32F405,最高工作頻率168MHz,利用意法半導體的ART加速器實現了FLASH零等待狀態。支持DSP指令和浮點單元,具有動態功耗調整功能和豐富的接口【2】。
? 2個USB OTG(其中一個支持HS)
? 音頻:專用音頻PLL和2個全雙工I2S
? 通信接口多達15個(包括6個速度高達10.5 Mb/s的USART、3個速度高達42 Mb/s的SPI、 3個I2C、2個CAN和1個SDIO)
? 模擬:2個12位DAC、3個速度為2.4 MSPS或7.2 MSPS(交錯模式)的12位ADC
? 定時器多達17個:頻率高達168 MHz的16和32位定時器
? 可以利用支持Compact Flash、SRAM、PSRAM、NOR和NAND存儲器的靈活靜態存儲器控制器輕松擴展存儲容量
? 基于模擬電子技術的真隨機數發生器
? STM32F415還整合了加密/HASH處理器,為AES 128、192、256、Triple DES和HASH(MD5、SHA-1)實現了硬件加速。
集成:STM32F405/415產品系列具有512KB(僅限于WLCSP90封裝)~1MB Flash和192KB SRAM,采用尺寸小
至4 x 4.2 mm的64~144引腳封裝。
2)外部設備
當然除了這顆高級的“心”之外,它更搭載了模塊----GU620。它是一款內嵌高靈敏度GPS&BEIDOU&藍牙功能的GSM/GPRS模塊,可同時支持四頻段制式,有更小的體積。其中的GPS是基于UBLOX的成熟芯片組設計開發,可進行高達66個PRN信道的衛星跟蹤,適用于車載監控導航,防盜跟蹤,PND,跟蹤器,個人安全設備等通信導航設備。
并且板子搭配了SHT20數字溫濕度傳感器和科美奇的三軸數字加速度傳感器芯片MMA7660FC是± 1.5G三軸數字輸出的I2C,超低功率,緊湊型電容式微電機的加速度計,超低功耗,小型容性MEMS的傳感器,具有低通濾波器,用于0g偏移和增益誤差補償,以及用戶可配置的轉換成6位分辨率,用戶可配置輸出速率等功能。該器件通過中斷引腳(INT)可以提供傳感器數據變化、產品方向和姿態識別等中斷。性能如下【3】:
·MMA7660FC可在六個方向定制垂直水平座向
·集成了眾多智能的運動功能,如方向、震動和敲擊檢測集成了眾多智能的運動功能,如方向,震動和敲擊檢測
·自動喚醒休眠功能自動喚醒休眠功能
相信這樣豐富的外部傳感器,在你下面的物聯網應用中會激發出更好的創意吧!
下面我們將板子上電,效果如下:
對比色彩還是很艷麗的哦!雖然還沒定到經緯度。
2、編寫程序測試
下面來查看一下電腦--->設備管理,可以看到其它設備中提示如下。
并且電腦會增加一個盤符TPYBFLASH,打開后可以看到板子帶的啟動及應用文件,就在下面了。
需要更新一下驅動程序,右鍵--->更新驅動,選擇PYBCDC.INF文件,安裝完成后,在可以在設備管理器中看到。
到python官網上下載網址:https://www.python.org/
雙擊后安裝完成,效果如圖所示。
在開始菜單下就可以看到python的程序嘍!
點擊python3.5(64-bit)就打開了它的命令窗口,如圖。
我們所看到的設備是由開發板里的Flash實現,并由四個文件關聯組成:
1)boot.py
這個腳本文件執行時,開發板啟動。它設置了開發板的多個選項參數。
2)Main.py
在boot.py運行后被執行,包含python程序的主要腳本。
3)Pybcdc.inf
Windows驅動文件,用來配置USB端口。
4)Readme.txt
開啟Python的必要基礎信息。
還是先來弄個LED點亮的小程序來走一下流程吧!
先將TPYBFLASH目錄下的main.py用記事本的方式打開,實現點亮LED燈。
# main.py -- put your code here!
import pyb //導入模塊的函數和類
led=pyb.LED(2) //創建變量LED2
led.on() //點亮LED2
while True: //循環閃爍
led.toggle()
pyb.delay(500)
保存后,將這四個文件拷貝到文件夾。然后將板子從電腦上退出。當再次上電后就可以看到,Led綠燈在toggle閃爍了。
簡單吧!編譯都沒有的噢!所見及所得。
當然這時你也可以通過串口來進行一些調試【4】。
在串口中,將串頻率設成115200(與板子默認配置相關),串口對應成13,連點擊連接圖標。這時重啟開發板就會在終端看到下面的打印信息。我們當然可以用它來做一些測試和驗證。
比如輸入:print(“hello world”)
Pyb.LED(1).ON()
Pyb.LED(2).ON()
等等
這時來看一下板上的LED燈,吼吼,都亮嘍!
3、總結:
PyBoard支持三種啟動模式
l 標準模式。先執行boot.py文件,然后再執行main.py文件。
l 恢復文件系統。將Flash文件系統恢復為出廠數據,
l 安全模式啟動。假若你的文件系統被損壞,可以進入模式。
它集成了更多的傳感器和外設,很方便實現物聯網平臺的搭建。MicroPython支持更多的平臺,例如:STM32F4 Discovery Board,NUCLEO-F401RE Board,NUCLEO-F767ZI Board,ESP8266,WiPy等,在開發板內刷上固件就可以使用了。
MicroPython腳本語言最大的優點它是解釋型語言,使用簡單、方便、高效,而且較C,JAVA等語言更容易理解和使用。Python的設計哲學是“優雅”、“明確”、“簡單”。
當然后面還會再有更多更有趣的實驗與心得會與大家分享哦!
-
嵌入式
+關注
關注
5092文章
19178瀏覽量
307694 -
開發板
+關注
關注
25文章
5121瀏覽量
98201 -
python
+關注
關注
56文章
4807瀏覽量
85040
原文標題:如何在嵌入式平臺玩轉Python 先做個通訊定位的小項目
文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論