幾年前做項目時第一次聽說Python,朋友強力推薦。對于這位老大,我?guī)缀趺看魏婉雎犕曛笇Ш蟮牡谝患蔷褪前俣葎偛拍切┪也宦牪幻靼椎膶I(yè)術語。
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)協(xié)議[2] 。它具有豐富而強大的庫,常被昵稱為膠水語言。能夠把用其他語言制作的各種模塊(尤其是C/C++)很輕松地聯(lián)結在一起,應用于任何平臺,而且還有我們最喜歡的開源 、免費噢!
如果不想每天面對計算機如此的多國語言,不如選一兩種通用語。難得它能在嵌入式開發(fā)的平臺上行得開,那就來進一步熟悉吧!
1、開發(fā)板硬件測評
先從某寶上購得PYBOARD V702一塊,先來看看外觀;
底板硬件資源如下:
配上Nokia5110的SPI接口LCD屏,組成上一個完整的傳輸系統(tǒng)。來個全家照吧!
TPYBoard_V702是遵照MIT許可的MicroPython開發(fā)板,支持Python語言的通信定位開發(fā)板。板載資源豐富,列表如下:
1)主處理器
它的主處理器為ARM CORTEX-M4系列的STM32F405,最高工作頻率168MHz,利用意法半導體的ART加速器實現(xiàn)了FLASH零等待狀態(tài)。支持DSP指令和浮點單元,具有動態(tài)功耗調整功能和豐富的接口【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存儲器的靈活靜態(tài)存儲器控制器輕松擴展存儲容量
? 基于模擬電子技術的真隨機數(shù)發(fā)生器
? STM32F415還整合了加密/HASH處理器,為AES 128、192、256、Triple DES和HASH(MD5、SHA-1)實現(xiàn)了硬件加速。
集成:STM32F405/415產(chǎn)品系列具有512KB(僅限于WLCSP90封裝)~1MB Flash和192KB SRAM,采用尺寸小
至4 x 4.2 mm的64~144引腳封裝。
2)外部設備
當然除了這顆高級的“心”之外,它更搭載了模塊----GU620。它是一款內嵌高靈敏度GPS&BEIDOU&藍牙功能的GSM/GPRS模塊,可同時支持四頻段制式,有更小的體積。其中的GPS是基于UBLOX的成熟芯片組設計開發(fā),可進行高達66個PRN信道的衛(wèi)星跟蹤,適用于車載監(jiān)控導航,防盜跟蹤,PND,跟蹤器,個人安全設備等通信導航設備。
并且板子搭配了SHT20數(shù)字溫濕度傳感器和科美奇的三軸數(shù)字加速度傳感器芯片MMA7660FC是± 1.5G三軸數(shù)字輸出的I2C,超低功率,緊湊型電容式微電機的加速度計,超低功耗,小型容性MEMS的傳感器,具有低通濾波器,用于0g偏移和增益誤差補償,以及用戶可配置的轉換成6位分辨率,用戶可配置輸出速率等功能。該器件通過中斷引腳(INT)可以提供傳感器數(shù)據(jù)變化、產(chǎn)品方向和姿態(tài)識別等中斷。性能如下【3】:
·MMA7660FC可在六個方向定制垂直水平座向
·集成了眾多智能的運動功能,如方向、震動和敲擊檢測集成了眾多智能的運動功能,如方向,震動和敲擊檢測
·自動喚醒休眠功能自動喚醒休眠功能
相信這樣豐富的外部傳感器,在你下面的物聯(lián)網(wǎng)應用中會激發(fā)出更好的創(chuàng)意吧!
下面我們將板子上電,效果如下:
對比色彩還是很艷麗的哦!雖然還沒定到經(jīng)緯度。
2、編寫程序測試
下面來查看一下電腦--->設備管理,可以看到其它設備中提示如下。
并且電腦會增加一個盤符TPYBFLASH,打開后可以看到板子帶的啟動及應用文件,就在下面了。
需要更新一下驅動程序,右鍵--->更新驅動,選擇PYBCDC.INF文件,安裝完成后,在可以在設備管理器中看到。
到python官網(wǎng)上下載網(wǎng)址:https://www.python.org/
雙擊后安裝完成,效果如圖所示。
在開始菜單下就可以看到python的程序嘍!
點擊python3.5(64-bit)就打開了它的命令窗口,如圖。
我們所看到的設備是由開發(fā)板里的Flash實現(xiàn),并由四個文件關聯(lián)組成:
1)boot.py
這個腳本文件執(zhí)行時,開發(fā)板啟動。它設置了開發(fā)板的多個選項參數(shù)。
2)Main.py
在boot.py運行后被執(zhí)行,包含python程序的主要腳本。
3)Pybcdc.inf
Windows驅動文件,用來配置USB端口。
4)Readme.txt
開啟Python的必要基礎信息。
還是先來弄個LED點亮的小程序來走一下流程吧!
先將TPYBFLASH目錄下的main.py用記事本的方式打開,實現(xiàn)點亮LED燈。
# main.py -- put your code here!
import pyb //導入模塊的函數(shù)和類
led=pyb.LED(2) //創(chuàng)建變量LED2
led.on() //點亮LED2
while True: //循環(huán)閃爍
led.toggle()
pyb.delay(500)
保存后,將這四個文件拷貝到文件夾。然后將板子從電腦上退出。當再次上電后就可以看到,Led綠燈在toggle閃爍了。
簡單吧!編譯都沒有的噢!所見及所得。
當然這時你也可以通過串口來進行一些調試【4】。
在串口中,將串頻率設成115200(與板子默認配置相關),串口對應成13,連點擊連接圖標。這時重啟開發(fā)板就會在終端看到下面的打印信息。我們當然可以用它來做一些測試和驗證。
比如輸入:print(“hello world”)
Pyb.LED(1).ON()
Pyb.LED(2).ON()
等等
這時來看一下板上的LED燈,吼吼,都亮嘍!
3、總結:
PyBoard支持三種啟動模式
l 標準模式。先執(zhí)行boot.py文件,然后再執(zhí)行main.py文件。
l 恢復文件系統(tǒng)。將Flash文件系統(tǒng)恢復為出廠數(shù)據(jù),
l 安全模式啟動。假若你的文件系統(tǒng)被損壞,可以進入模式。
它集成了更多的傳感器和外設,很方便實現(xiàn)物聯(lián)網(wǎng)平臺的搭建。MicroPython支持更多的平臺,例如:STM32F4 Discovery Board,NUCLEO-F401RE Board,NUCLEO-F767ZI Board,ESP8266,WiPy等,在開發(fā)板內刷上固件就可以使用了。
MicroPython腳本語言最大的優(yōu)點它是解釋型語言,使用簡單、方便、高效,而且較C,JAVA等語言更容易理解和使用。Python的設計哲學是“優(yōu)雅”、“明確”、“簡單”。
當然后面還會再有更多更有趣的實驗與心得會與大家分享哦!
-
嵌入式
+關注
關注
5059文章
18974瀏覽量
302063 -
開發(fā)板
+關注
關注
25文章
4898瀏覽量
97061 -
python
+關注
關注
55文章
4768瀏覽量
84376
原文標題:如何在嵌入式平臺玩轉Python 先做個通訊定位的小項目
文章出處:【微信號:weixin21ic,微信公眾號:21ic電子網(wǎng)】歡迎添加關注!文章轉載請注明出處。
發(fā)布評論請先 登錄
相關推薦
評論