言
本節我們開始學習ESP8266基于Alios-Things的系統編程,Alios-Things于2017年10月正式開源,至今已經有兩年多時間,系統日趨強大,是連接阿里云首選操作系統。
一、基礎知識
1.esp8266簡介
ESP8266EX 內置超低功耗Tensilica L106 32 位 RISC 處理器,CPU 時鐘速度最高可達 160 MHz,支持實時操作系統(RTOS) 和 Wi-Fi 協議棧,可將高達 80% 的處理能力留給應用編程和開發。
ESP8266EX 的工作溫度范圍大,且能夠保持穩定的性能,能適應各種操作環境,可以說目前ESP8266目前占據了相當大的市場份額,尤其是米家、百度、阿里等平臺都在使用ESP8266。
2.NodeMCU Lua V3物聯網開發板
NodeMCU基于ESP8266,默認帶有固件支持lua編程,同時提供了封裝ESP8266硬件操作的高級API,可以讓開發者類似于arduino的方式進行快速開發。
V3版本主模塊采用ESP-12E,FLASH閃存芯片25Q32 4M(32mbit),根據串口芯片不同,分為兩種:CH340版本和CP2102版本,本文使用CH340版本。
3.Alios-Things簡介
AliOS Things是面向IoT領域的輕量級物聯網嵌入式操作系統。致力于搭建云端一體化IoT基礎設備。具備極致性能,極簡開發、云端一體、豐富組件、安全防護等關鍵能力,并支持終端設備連接到阿里云Link,可廣泛應用在智能家居、智慧城市、新出行等領域。
二、開發環境搭建
1 安裝配置ubuntu
本文使用ubuntu16.0.4,Windows下先安裝VMware,然后安裝ubuntu虛擬機,安裝過程,不在詳述,如果不明,可百度解決。
2 安裝VSCode
本文使用的開發環境是VSCode的,其界面比較簡介,擁有豐富的插件系統,可下載插件支持C/C++、python、js、java等多種語言。本文中VSCode主要用來做編輯器,不是必須,也可以使用記事本、sourceinsight等工具。
VSCode官網地址:https://code.visualstudio.com/
本文使用ubuntu16.0.4,因此需要下載.deb文件:code_1.42.1-1581432938_amd64.deb
安裝命令如下:
sudo dpkg -i code_1.42.1-1581432938_amd64.deb
安裝Vscode后,可以在終端中輸入code .打開VS Code。
VS Code還需要安裝C/C++插件,以便支持查看調試代碼。
3 下載Alios-Things源碼
3.1安裝git:
sudo apt-get install git
3.2下載源碼
源碼地址:https://gitee.com/alios-things/AliOS-Things
下載命令:
git clone https://gitee.com/alios-things/AliOS-Things.git
注意:最好要在ubuntu中下載,筆者首先windows中下載,然后共享到ubuntu下編譯不成功。
3.3 下載aos-cube編譯工具
安裝命令如下:
sudo apt-get install -y python
sudo apt-get install -y gcc-multilib
sudo apt-get install -y libssl-dev libssl-dev:i386
sudo apt-get install -y libncurses5-dev libncurses5-dev:i386
sudo apt-get install -y libreadline-dev libreadline-dev:i386
sudo apt-get install -y python-pip
pip install aos-cube
查看aos-cube版本:
4 配置工程
按下CTRL+SHIT+~組合按鍵打開命令行終端
終端下輸入aos make menuconfig,配置頁面顯示如下:
選擇Application Configuration,按下回車按鈕進入配置,然后選擇Select App回車,最后選擇Builtin Examples,然后按下ESC按鍵返回。
接著選擇Select example,按下回車按鈕,選擇helloworld Sample工程
選擇board,本文使用ESP8266,首先回退到主配置頁面,然后進入BSP配置項
然后進入Board Selection下選擇ESP8266
最后,按下ESC按鍵返回,提示是否保存修改的配置,選擇YES,然后按下回車按鍵即可。
5 編譯
配置完成后,輸入aos make,系統會檢測是否有ESP8266編譯工具,如果沒有則自動下載,所以第一次編譯會先下載編譯工具,編譯時間略久。
編譯完成后結果如下,生成的固件在out/helloworld@esp8266/binary文件夾下
注意:編譯也可以在VS Code下的終端輸入aos make編譯。
三、運行
1.硬件連接
下載還是在windows下方便,直接將生成的helloworld@esp8266.bin文件拖到windows下,同時也將AliOS-Things/platform/mcu/esp8266/bsp路徑下boot_v1.7_921600.bin、blank.bin、esp_init_data_default.bin也拖到windows下。
下載ESP8266燒錄工具,直接去樂鑫官網下載即可,本文用V3.6.8版本。
下載完成后界面如下所示:
串口運行Log如下所示:
四、總結
(1)源碼下載
最好在ubuntu下面直接下載,不要windows下下載。
(2)固件燒錄
起初燒錄完成后,程序一直起不來,后來刷了32M total的AT固件,再用上述方式燒錄,系統成功運行。
32M刷機固件地址如下:
鏈接:https://pan.baidu.com/s/1HKyv26t8uqbs1jVoO_qRGg
提取碼:4rno
作者:一葉孤沙
寄語:一沙一世界,一葉一菩提
Lua 是一種輕量小巧的腳本語言,用標準C語言編寫并以源代碼形式開放, 其設計目的是為了嵌入應用程序中,從而為應用程序提供靈活的擴展和定制功能。
lua在游戲行業和互聯網運維中用的比較多,比如結合使用lua腳本和nginx配合,可以實現很多高級復雜的運維配置功能。本文只介紹lua的安裝,環境為centos7。
官網下載地址:http://www.lua.org/download.html
編譯安裝
或者查看官網更詳細的安裝說明:http://www.lua.org/manual/5.3/readme.html
安裝過程顯示:
出現一個錯誤:
查看官網說明有這么一段介紹:
意思就是安裝lua之前必須安裝了readline工具,所以安裝:
安裝過程:
安裝完成:
重新嘗試執行編譯測試命令:
官網說明如果還有錯誤,嘗試執行:
依然錯誤:
百度一下,找到答案:
yum install libtermcap-devel ncurses-devel libevent-devel readline-devel
安裝成功后,再次執行make linux test
這次終于ok了,說明可以安裝了,執行make linux install即可
Makefile中是安裝的各項配置信息
安裝到本地執行 make local
會生成一個install目錄,里邊就是安裝的內容:
這就證明lua安裝好了
默認不需要配置環境變量就可以使用
來一個hello world