2017年4月27日木曜日

MicroPython install ESP-12E (2)

とりあえず、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月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
    バイナリ: esp8266-20170108-v1.8.7.bin
                   http://micropython.org/download
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で振られたのに戻るってが?ですが。
    

         

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)

とりあえず、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日日曜日

Orange Pi Zero Plus2 H5

やっぱり出ましたね。H3版の位置付けが不明と云うかもう作って無いのか。貴重品かな。。