いっぺーちゃんの いろいろやってみよ~

micropython on ESP32 でNTPサーバから時刻取得

前回、時刻を設定できるようにしたので、今回はNTPサーバから時刻を取得してみます。これらを組み合わせると、時刻合わせが自動で行えるようになります。 以下のプログラムをntptime.pyという名前で保存し、upipmでインストールします。 import usocket as s…

micropython on ESP32 で時刻設定を可能にする

ESP32のmicropythonのutimeモジュールにはtimeという時刻(ある時点からの経過秒)を取得するメソッドがあるのですが、時刻を設定する方法が見当たりません。「無いのなら作ってしまえ、ホトトギス」ということで作ってみました。ついでに、経過秒から年月日時…

micropython on ESP32 でモジュールをインストールする

micropythonにはPyPiサイトに用意されたモジュールをインストールするためのモジュール upip が用意されています。 import upip upip.install("パッケージ名") でインストールできます。ちなみに、upipのソースはmicropython-esp32/esp32/modules/upip.pyに…

micropython on ESP32 でWi-Fiルータ(or AP)に接続する

ESP32をWi-Fiルータ または アクセスポイントに接続します。以下のプログラムを実行すると、Wi-Fiルータに接続できます。 SSID_NAME = "SSID名" SSID_PASS = "パスワード" import utime import network # ==== connecti to wifi access point ==============…

micropython on ESP32 でダウンローダを使う

プログラムを作成して、逐一コピペするのは面倒だなぁ、と思うでしょ?micropythonにはダウンローダが用意されています。tools/pyboard.py がそれです。 /work2/esp/micropython-esp32/tools/pyboard.py --device /dev/ttyUSB0 file名 で実行できるはずなん…

micropython on ESP32 でぽちっとな

またまた定番のボタンをぽちっと押してみます。 GPIO端子(下の例ではIO21)にpull-up抵抗とスイッチを接続し、Active Lowな入力にします。以下のプログラムを実行すると、スイッチを押したり放したりすると「ぽちっとな~」とか「はなしたでー」とか表示され…

micropython on ESP32 でLチカ

ということで、定番のLチカ GPIO端子(下の例ではIO22とIO23)にLEDと電流制限用抵抗を接続しておきます。 Active HighでもActive LowでもOK(点滅するので、どっちになってても分からない)。 以下のプログラムを実行すると、LEDがそれぞれの周期で点滅します。…

ESP32でmicropython

天邪鬼ないっぺーちゃんはpythonを避けてEspruinoでごちょごちょやってきましたが、やはりpythonも試しておこうということで、micropythonを試してみることにします。 micropythonのビルドは、Windowsで色々ハマるより、Ubuntuの仮想マシンで実行するのがオ…

Espruino on ESP32 で Twitter にも日本語を

LINEでは日本語の送信をできるようにしたので、Twitterでも日本語の送信ができるようにということで、Espruino on ESP32 で Twitter(その2) - いっぺーちゃんの いろいろやってみよ~ で紹介したtiny_twitterモジュールのtweet処理のメッセージを日本語対応…

Espruino on ESP32 で LINE(その2)

Espruino on ESP32 で Twitter(その3) - いっぺーちゃんの いろいろやってみよ~ のLINE版も作っておきます。 ボタンを押したらLINEにメッセージが飛ぶ、LINEボタンです。 こんな感じです。 var access_token = '取得したアクセストークン'; var messages = …

Espruino on ESP32 で 今更だけど時刻変更

テスト用に時刻変更しようと思ったら、時刻設定方法ってどうだっけ?とすぐに出てこなかったので、メモ。 以下のように実行すればOK setTime(Date("2017-07-30T21:00:00").ms/1000) Date.msで得られる値はミリ秒で、setTime()に設定する値は秒なので、1000で…

Espruino on ESP32 で LINE(その1)

Twitterへのアクセスにも飽きてきたので、今回はLINEにメッセージを投げてみます。LINEにはWebサービスから簡単にメッセージを送信できる、LINE Notifyというサービスがあります。これを使用すると簡単にLINEにメッセージを送信できます。 LINE Notifyでメッ…

Espruino on ESP32 で Twitter(その5)

前回 と Espruino on ESP32 でLチカ - いっぺーちゃんの いろいろやってみよ~ を組み合わせて、TwitterからLEDを制御してみましょう。 以下にそのプログラムを示します。 consumer_key = '取得した Consumer key'; consumer_secret = '取得した Consumer se…

Espruino on ESP32 で Twitter(その4)

前々回、前回とtweetする方のプログラムだったので、今回はtweet内容を受信するプログラムを試してみます。 最初に注意事項です。あまりたくさんのtweetを一度に受信してしまうと、メモリ不足で落ちてしまいます。 ここでは、Streaming API の User streams …

Espruino on ESP32 で Twitter(その3)

Espruino on ESP32 でぽちっとな - いっぺーちゃんの いろいろやってみよ~ と Espruino on ESP32 で Twitter(その2) - いっぺーちゃんの いろいろやってみよ~ を組み合わせてTweetボタンを作ってみましょう。 大雑把に言うと Espruino on ESP32 でぽちっと…

Espruino on ESP32 で Twitter(その2)

以下がtwitterにアクセスするためのモジュールです。 さらっと書いてますが、血と汗と涙の結晶です。 ====2017/08/03追記 ここから==== Espruino on ESP32 で Twitter にも日本語を - いっぺーちゃんの いろいろやってみよ~で新しいバージョンを公…

Espruino on ESP32 で Twitter(その1)

Espruinoで何か面白いことができないかなぁ~?とネット上を徘徊していると、 TI DSP ソフトウェア設計のファームロジックス | MicroPython + ESP8266 で、ネイティブ tweet bot を作る というページを見つけました。 ESP8266上のMicropythonでTwitterに直接…

Espruino on ESP32 起動時に時刻合わせを行う

ESP32のRTCはバッテリバックアップされていないようなので、電源OFFで時刻を忘れてしまうようです。あ、以前(Espruino on ESP32 でぽちっとな - いっぺーちゃんの いろいろやってみよ~) gettimeofday使わないようにしたので、RTCがバッテリバックアップされ…

Espruino on ESP32 モジュールインストーラ

モジュールを用意した後、逐一オンラインストレージのディスクイメージを作成して書き込むのは面倒なので、node.jsのnpmのように、モジュールをサーバからインストールできるプログラムを用意します。名前はなんでも良いのですが、mnpmとしました。"mini-"np…

Espruino on ESP32 でADC

ESP32でアナログ電圧を取得するのにADC(Analog-Digital Converter) を使用できます。 ESP32のADCのアナログ入力の電圧範囲は0~VDD(3.3V)です(ESP8266とは異なります)。 ADC入力端子として、Pin36、Pin37、Pin38、Pin39、Pin32、Pin33、Pin34、Pin35 を指定…

Espruino on ESP32 でPWM & DAC

ESP32ではアナログ出力にPWM(Pulse Width Modulation)とDAC(Digital-Analog Converter)を使用できます。 PWM出力はDAC出力用端子を除く任意の出力端子に割り当てることができます。 DAC出力はPin25とPin26のみ指定できます。 PWM出力 PWMは合計8本使用できま…

Espruino on ESP32 でWi-Fiルータ(or AP)に接続する

ESP32をWi-Fiルータ または アクセスポイントに接続します。 以下のプログラムを実行すると、Wi-Fiルータに接続できます。 var SSID_NAME = "SSID名"; var SSID_PASS = "パスワード"; // Wi-Fi アクセスポイントへの接続 var wifi = require('Wifi'); wifi.c…

Espruino on ESP32 でぽちっとな

前回はLED出力したので、次はボタンをぽちっと押してみます。 GPIO端子(下の例ではIO21)にpull-up抵抗とスイッチを接続し、Active Lowな入力にします。以下のプログラムを実行すると、スイッチを押したり放したりするとONとかOFFとか表示される // initializ…

Espruino on ESP32 でLチカ

ということで、今更ながらLチガ。 GPIO端子(下の例ではIO23)にLEDと電流制限用抵抗を接続。 Active HighでもActive LowでもOK(点滅するので、どっちになってても分からない)。 点灯するだけではチカと言い難いので、点滅させてみました。、 で、以下のプログ…

EspruinoのオンボードストレージをLinux上で作成する

「まずはLチカやろ?」というツッコミを覚悟の上で、いきなりオンラインストレージです。 ESP32のEspruinoはオンボードのSPI-Flash上にオンボードストレージを持っています。 オンボードストレージはSPI-Flashのアドレス0x300000 から1Mバイトに配置されて…

ESP32でEspruinoを試す

ESP32でJavascriptのtiny版 Espruino を試す ESP32で色々プログラムを書いてみるのに、arduino IDEを使うと逐一Flashの書き換えを行うことになってなにかと不便なので、スクリプト言語を使ってみることにします。 で、やっぱりスクリプト言語ならpythonだよ…

ESP32をポチってしまった

世の中の流行に乗って(?)ESP32を使ってみる 以前、ESP8266が流行っていると聞いたが、天邪鬼な私は手を出さないでいました。 そうこうしているうちに、その後継ESP32が出たとの情報。 て、ちょっと魔がさして弄ってみようと思ってしまい、ポチってしまいまし…