安裝picocom
sudo apt-get install picocom
sudo pip install adafruit-ampy --upgrade
確認 esptool安裝完成
sudo apt-get install esptoolsudo pip3 install esptool
燒錄硬體
下載網址:https://github.com/BPI-STEAM/BPI-BIT-MicroPython/releases下載:firmware.bin、AutoErase.py、AutoFlash.py三個檔案。
開啟終端機,輸入:
python3 AutoErase.py
python3 AutoFlash.py
連線到bpi-bit
picocom /dev/ttyUSB0 -b 115200關閉wifi AP
wifi.close()執行.py檔案
ampy --port /dev/ttyUSB0 run led.py
Ctrl+A在空行上,輸入原始REPL模式
Ctrl+B在空行上,進入正常的REPL模式
Ctrl+C中斷程序
Ctrl+D軟體重啟
Ctrl+E進入複製貼上程式碼模式,做完貼上使用Ctrl+D執行貼上程式碿
按Ctrl+A 再按Ctrl+Q離開終端機
如果要燒錄進去,則把xx.py程式,改成main.py
sudo ampy --port /dev/ttyUSB0 put main.py
刪除板子上的文件
ampy --port /dev/ttyUSB0 rm led.py
下載檔案到電腦中
下載檔案到電腦中
ampy -p /dev/ttyUSB0 get xx.py
列出文件
ampy -p /dev/ttyUSB0 ls
清除micropyton重新燒入
sudo esptool.py --port /dev/ttyUSB0 erase_flash
sudo esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect 0 esp8266-20180511-v1.9.4.bin
點亮GPIO 18 LED燈
載入machine裡的Pin類別from machine import Pin
載入時間物件
import time
設定GPIO 18為輸出,GPIO18在bpi-bit正面wf32晶片旁bpi:bit的正方方LED燈
LED = Pin(18, Pin.OUT)
亮燈
LED.value(1)
熄燈
LED.value(0)
呼吸燈作法
import machine,timeLED = machine.PWM(machine.Pin(18), freq=1000)
tick = 0 # counter variable
while True:
if tick < 40:
# self.tick % 20 gives a number 0 to 19
# subtracting 9 makes it -9 to 10
# abs maps it 9 to 0 to 10
# subtracting from 10 maps it 1 to 10 to 0
# multiplying by 25 scales it 25 to 250 to 0
LED.duty((10 - (abs((tick % 20) - 9))) * 25)
tick = (tick + 1) % 40
time.sleep(0.1)
注意程式碼階層,python以階層決定程式碼位置。
可以貼在文件編輯器中存成led_pwm.py檔,放終下列執行指令
ampy --port /dev/ttyUSB0 run led_pwm.py
沒有留言:
張貼留言