とりあえず、boot.pyに固定IPの設定(?)を追加してみた。
C:\>ampy -p COM6 put boot.py /boot.py
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import gc
#import webrepl
#webrepl.start()
gc.collect()
# ここから....
import network
nic = network.WLAN(network.STA_IF)
nic.active(True)
nic.ifconfig(('192.168.xx.x2', '255.255.255.0', '192.168.xx.xx', '192.168.xx.xx'))
nic.connect('xxxxx', 'xxxx')
2017年4月27日木曜日
2017年4月26日水曜日
MicroPython install ESP-12E
ESP-12Eに、MicroPythonを入れてみました。
備忘録です。
以下に、ESP8266用ドキュメントあります。
http://docs.micropython.org/en/latest/esp8266/
以下は、Windows10で作業しました。
1. 素のESP-12Eを用意(Arduinoで使う構成でよし。
但し、Arduinoでスケッチ書くとそれ以降の作業が出来なくなる)
2. とりあえず、atコマンドでchipの確認
at
OK
AT+GMR
AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec 2 2016 14:21:16
OK
AT+CIPSTAMAC?
+CIPSTAMAC:"5c:cf:7f:f0:32:26"
OK
3. MicroPythonを書き込む
書込みツール:Flash Download Tools V3.4.4(ESP8266 & ESP32)
https://espressif.com/en/support/download/other-tools
http://micropython.org/download
4. 再起動
備忘録です。
以下に、ESP8266用ドキュメントあります。
http://docs.micropython.org/en/latest/esp8266/
以下は、Windows10で作業しました。
1. 素のESP-12Eを用意(Arduinoで使う構成でよし。
但し、Arduinoでスケッチ書くとそれ以降の作業が出来なくなる)
2. とりあえず、atコマンドでchipの確認
at
OK
AT+GMR
AT version:1.2.0.0(Jul 1 2016 20:04:45)
SDK version:1.5.4.1(39cb9a32)
Ai-Thinker Technology Co. Ltd.
Dec 2 2016 14:21:16
OK
AT+CIPSTAMAC?
+CIPSTAMAC:"5c:cf:7f:f0:32:26"
OK
3. MicroPythonを書き込む
書込みツール:Flash Download Tools V3.4.4(ESP8266 & ESP32)
https://espressif.com/en/support/download/other-tools
バイナリ: esp8266-20170108-v1.8.7.bin
|
4. 再起動
TeraTerm等で、シリアル接続
5. python shell(IDLE)が表示されればok
#6 ets_task(40100164, 3, 3fff8398, 4)
could not open file 'main.py' for reading
MicroPython v1.8.7-7-gb5a1a20a3 on 2017-01-09; ESP module with ESP8266
Type "help()" for more information.
>>>
>>>
>>> help()
>>>Welcome to MicroPython!
>>>For online docs please visit http://docs.micropython.org/en/latest/esp8266/ .
>>>For diagnostic information to include in bug reports execute 'import port_diag'.
[以下省略]
6. Lチカ
>>> pin = machine.Pin(2, machine.Pin.OUT) #<===onboard BLUE LED
>>> pin.high()
>>> pin.low()
>>>
7. scriptファイルのPCからのcopy及びリモート実行等
osも無くいきなりpython IDLEになるので、そこでファイルの編集など出来ない
ので、Adafruit MicroPython tool (ampy) をinstall
7.1 install
c:\>pip install adafruit-ampy
ESP-12E再接続
7.2 ファイル一覧
C:\>ampy -p COM6 ls
boot.py
7.3 ファイル内容参照
C:\>ampy -p COM6 get boot.py
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import gc
#import webrepl
#webrepl.start()
gc.collect()
7.4 script自動起動
ブートすると、boot.py-->main.pyの順に実行されるので、
自動実行させたいscriptは、main.pyにコピー(書く)する。
[Lチカコード(led2.py)]
import machine
import time
pin = machine.Pin(2, machine.Pin.OUT)
while 1:
pin.high()
time.sleep(0.5)
pin.low()
time.sleep(0.5)
7.4.1 led2.py を main.py にコピー
C:\>ampy -p COM6 put led2.py /main.py
再起動
chipのblue ledがLチカされればOK
※ main.py等のscript実行は、ctl+Cで止めればIDLEモードになります。
7.5 リモート実行(ローカルのled2.pyを実行)
C:\>ampy -p COM6 run led2.py
とりあえず、以上で最低限の事が出来る。
詳細は、上記チュートリアルで調べて下さい。
当然、ネットワークもつかえましたが。。
※IPアドレスが、DHCPで振られたのに戻るってが?ですが。
6. Lチカ
>>> pin = machine.Pin(2, machine.Pin.OUT) #<===onboard BLUE LED
>>> pin.high()
>>> pin.low()
>>>
7. scriptファイルのPCからのcopy及びリモート実行等
osも無くいきなりpython IDLEになるので、そこでファイルの編集など出来ない
ので、Adafruit MicroPython tool (ampy) をinstall
7.1 install
c:\>pip install adafruit-ampy
ESP-12E再接続
7.2 ファイル一覧
C:\>ampy -p COM6 ls
boot.py
7.3 ファイル内容参照
C:\>ampy -p COM6 get boot.py
# This file is executed on every boot (including wake-boot from deepsleep)
#import esp
#esp.osdebug(None)
import gc
#import webrepl
#webrepl.start()
gc.collect()
7.4 script自動起動
ブートすると、boot.py-->main.pyの順に実行されるので、
自動実行させたいscriptは、main.pyにコピー(書く)する。
[Lチカコード(led2.py)]
import machine
import time
pin = machine.Pin(2, machine.Pin.OUT)
while 1:
pin.high()
time.sleep(0.5)
pin.low()
time.sleep(0.5)
7.4.1 led2.py を main.py にコピー
C:\>ampy -p COM6 put led2.py /main.py
再起動
chipのblue ledがLチカされればOK
※ main.py等のscript実行は、ctl+Cで止めればIDLEモードになります。
7.5 リモート実行(ローカルのled2.pyを実行)
C:\>ampy -p COM6 run led2.py
とりあえず、以上で最低限の事が出来る。
詳細は、上記チュートリアルで調べて下さい。
当然、ネットワークもつかえましたが。。
※IPアドレスが、DHCPで振られたのに戻るってが?ですが。
2017年4月23日日曜日
Raspberry Pi ZeroにSSD1306 OLED LCDを繋げてみる
Amazonに\420と安価な
「0.96" I2C IIC SPI シリアル 128×64 OLED LCDディスプレイSSD1306液晶 STM32/51/MSP430/Arduino [並行輸入品]」てのを入手したのでRPi Zeroに繋げてみました。とりあえず使えた。
spi -->i2cに変更済みです。RESETの扱いが?です。
#RPI B+で不安定だったし、Zeroでも当初i2cデバイスとして認識しなかったな...
2017年4月20日木曜日
今頃 Amazon Dash Button
迂闊にも全く存在を知りませんでした。
もう話題になってなさそうな感じですね。。
早速入手。
とりあえず、皆さんの書いてるpythonコードをぱくり
http://stackoverflow.com/questions/36670426/raspi-not-triggering-on-arp-probe
#pip install scapy
[code]
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from scapy.all import *
import requests
import time
def arp_display(pkt):
if pkt.haslayer(DHCP):
if pkt[Ether].src == '78:xx:xx:xx:xx:xx': # Galaxy S5
print "Galaxy S5"
elif pkt[Ether].src == '34:xx:xx:xx:xx:xx': # Dash Button MAC
print "Pushed Dash Button(天然水)"
else:
print "BOOTP Request from other device: " + pkt[Ether].src
print sniff(prn=arp_display, filter="(udp and (port 67 or 68))", store=0)
もう話題になってなさそうな感じですね。。
早速入手。
とりあえず、皆さんの書いてるpythonコードをぱくり
http://stackoverflow.com/questions/36670426/raspi-not-triggering-on-arp-probe
#pip install scapy
[code]
#!/usr/bin/env python
# -*- encoding: utf-8 -*-
from scapy.all import *
import requests
import time
def arp_display(pkt):
if pkt.haslayer(DHCP):
if pkt[Ether].src == '78:xx:xx:xx:xx:xx': # Galaxy S5
print "Galaxy S5"
elif pkt[Ether].src == '34:xx:xx:xx:xx:xx': # Dash Button MAC
print "Pushed Dash Button(天然水)"
else:
print "BOOTP Request from other device: " + pkt[Ether].src
print sniff(prn=arp_display, filter="(udp and (port 67 or 68))", store=0)
とりあえず、ARP Probe だと拾えないので、bootpで拾ってます。
# ./ama-dash.py
Pushed Dash Button(天然水)
Pushed Dash Button(天然水)
Pushed Dash Button(天然水)
2017年4月16日日曜日
MicroPythonどうかなぁ
MicroPythonやってみようと、ESP-12、ESP-12?ボード発注したけど、あまり面白くなさそうな気がしてきた。結局、飽きたArduinoボードとして使うのかな。。
2017年4月2日日曜日
登録:
投稿 (Atom)