2019年11月21日

s3e安裝記事

參考網址:https://mryslab.github.io/s3-extend/
需求
python3.7

安裝
python3-pip xterm
sudo apt-get install python3-pip xterm
安裝s3-extend 
sudo pip3 install s3-extend 

燒入硬體
需要esptool
sudo pip3 install esptool
 
清除韌體
esptool.py --port /dev/ttyUSB0 erase_flash
 
下載韌體
http://micropython.org/download#esp8266
 
燒入韌體
esptool.py --port /dev/ttyUSB0 --baud 460800 write_flash --flash_size=detect -fm dio 0 esp8266-20170108-v1.8.7.bin

安裝連線軟體
sudo apt install picocom
sudo pip3 install adafruit-ampy 
sudo pip3 install mpfshell
 
下載s3-extend(如果s3a已裝可免)
git clone https://github.com/MrYsLab/s3-extend.git 
cd s3-extend 
python3 setup.py
cd esp_8266_micropython
上傳main.py
ampy --port /dev/ttyUSB0 put main.py
ampy --port /dev/ttyUSB0 put esp_8266_min.py 
wifi連上AP
使用vim編輯boot.py
vim boot.py
插入
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import uos, machine ,time ,network
#uos.dupterm(None, 1) # disable REPL on UART(0)
import gc
#import webrepl
#webrepl.start()
gc.collect()
sta_if = network.WLAN(network.STA_IF)
sta_if.active(True)
sta_if.connect('<essid>', '<password>')
while not sta_if.isconnected():
    time.sleep(1)
    pass
print('network config:', sta_if.ifconfig())
 
 
上傳boot.py
ampy --port /dev/ttyUSB0 put boot.py
連上esp8266看wifi IP並複製起來 
echo "Ctral+c再按Ctrl+D重啟(可以取得IP).Ctrl+A 再按 Ctrl+Q 離開";picocom -b 115200 /dev/ttyUSB0 
按下Ctrl+A再按Ctrl+Q離開。如果連線一段時間才執行指令,會看不到ip資料,可以按下reset鈕。
執行s3e
這時esp8266藍燈長亮
只要有重新啟動esp8266(插拔USB或是按下reset鈕),就要重新執行s3e 
開啟scratch3
https://mryslab.github.io/s3onegpio/

選擇擴充套件


執行積木,此時藍燈會熄滅,連線程式會顯示連線成功
 
亮起LED燈(LED接在D6),D6的腳位是12程式碼如下:
許惠美老師提供的資料圖
 
 
   

2019年11月17日

python arduino 記事

https://pypi.org/project/pyFirmata/
韌體要燒入範例檔standfirmata

install pyfirmata

git clone https://github.com/tino/pyFirmata
cd pyFirmata
sudo python3 setup.py install
 
sudo pip3 install pyfirmata


python3
//載入
from pyfirmata import Arduino, util

board = Arduino('/dev/ttyUSB0')
//讀取類比信號A0
it = util.Iterator(board)
it.start()
board.analog[0].enable_reporting()
board.analog[0].read()
 
//寫入數位信號D13
board.digital[13].write(1)
 
 

2019年11月8日

picoboard燒入uno


感謝吳志文老師提供方法,把改picoboard韌體方法記錄一下。
先用一塊uno板燒範例中的ArduinoISP.ino使uno成為一台Bootloader燒錄器,後將uno的D13->PicoBoard J1(3),D12->PicoBoard J1(1),D11->PicoBoard J1(4),D10->PicoBoard J1(5)


再燒錄Bootloader,則PicoBoard就變成一塊UNO了

燒錄bootloader成功後,就可以使用uno方式(s2a s3a...)來執行scratch了。

2019年11月2日

s3a記事

https://github.com/MrYsLab/s3-extend

1.python3.7以上

python3 –version
Python 3.6.8
sudo apt-get install build-essential checkinstall
sudo apt-get install libreadline-gplv2-dev libncursesw5-dev libssl-dev \
    libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev libffi-dev zlib1g-dev
cd /usr/src
sudo wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz
sudo tar xzf Python-3.7.4.tgz
cd Python-3.7.4
sudo ./configure --enable-optimizations

make -j -l 4
sudo make altinstall


python3.7 --version
Python 3.7.5

安裝需要套件
sudo apt install python3-pip
sudo apt install xterm
sudo pip3 install s3-extend
sudo pip3 install awscli
sudo pip3 install adafruit-ampy
下載s3-extend
git clone https://github.com/MrYsLab/s3-extend.git
安裝
cd s3-extend/
sudo python3.7 setup.py install
終端機執行
s3a -l a.log -c devttyUSB0

scratch3_online:https://mryslab.github.io/s3onegpio

 
 
燒入韌體 
https://mryslab.github.io/s3-extend/#arduino/
安裝arduino擴充套件,讓arduino ide有FirmataExpress檔案,要安裝

打開範例檔firmataExpress,燒入arduino uno板子。
 
cd  s3-extend
python3 setup.py install
 
 
執行s3a
 
 
要指定連接埠
s3a -c /dev/ttyUSB0
 
scratch3_online:https://mryslab.github.io/s3onegpio

 
arduino 直接燒錄韌體
http://ykarduino.blogspot.com/2014/05/hex-codearduino.html
 
http://coopermaa2nd.blogspot.com/2011/06/arduino-ide-tweak.html
 
燒錄FirmataExpress.ino.hex
avrdude -v -patmega328p -carduino -P/dev/ttyUSB0 -b115200 -D -Uflash:w:FirmataExpress.ino.hex:i