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

REST to MQTTブリッジを作る(その2)

前回の続きです アプリケーション本体の説明です。 MQTTブローカに関するパラメータです。設定できるパラメータについてはここを参照してください。 ここではlocalhostのデフォルトポート(1883)でanonymous接続可能なMQTTブローカを設定しています。 MQTT通…

REST to MQTTブリッジを作る(その1)

前回Twitterの改行を含む本文をIFTTTからbeebotte経由でESP32に送れなかったのが悔しかったので、どうにかして送れるようにしたいと考えました(←かなりの負けず嫌い) まず、エラーになる原因を考察します。といっても、ここにそのものズバリの答えがありまし…

micropython on ESP32 でIFTTT(アクション編)

ジャッキー・チェンがアチョーって、、、またスベった。。。 今回はIFTTTのwebhooksチャネルをアクション(that)で利用し、ESP32側で処理を行うことを試してみます。ESP32は家庭内LANなどに接続されており、外部から直接アクセスできないので、こちらを参考に…

micropython on ESP32 でpush通知

TwitterやLINEで通知を試しましたが、twitterやLINEのアプリをインストールしたりアカウントを作成する手間も省きたいというモノグサ魂がムクムクと。。。モノグサのためなら苦労も厭わないという、本末転倒な感じですが(笑)。また、通知の痕跡が残らないよ…

micropython on ESP32 でIFTTT(トリガ編)

micropythonでTwitterやLINE notifyにデータを送信するプログラムを作ってみましたが、IFTTTを使えば通知先を気にせず同じプログラムで送信できることに今更気が付きました。ということで、IFTTTにデータを送信するプログラムを作ってみました。 まず、IFTTT…

micropython on ESP32 で名前解決

別に子供の名前を決めてくれるわけではない。。。(スベった) インターネットアクセスでマシン名からIPアドレスを取得するアレです。 公開されているサーバであれば、DNSで解決できるのですが、家の中のようなローカルな環境のマシンも名前でアクセスできたら…

micropython on ESP32 でDAC

今更だけど備忘録として。 ESP32でアナログ電圧を出力するのにDAC(Digital-Analog Converter)を使用できます。DAC出力端子として、Pin25、Pin26を指定できます。それ以外の端子を指定すると例外ValueErrorがraise されます。初期化は以下のように実行します…

micropython on ESP32 でPWM

今更だけど備忘録として。 ESP32でパルスを出力するのにPWM(Pulse Width Modulation)を使用できます。 出力端子は出力可能な任意のpinを指定可能ですが、設定できる端子は最大8本です。周波数はすべてのチャンネルで共通です。周波数を変更すると、パルス幅…

micropython on ESP32 でADC

今更だけど備忘録として。 ESP32でアナログ電圧を取得するのにADC(Analog-Digital Converter) を使用できます。ESP32のADCのアナログ入力の電圧範囲は0~VDD(3.3V)です(ESP8266とは異なります)。ADC入力端子として、Pin36、Pin37、Pin38、Pin39、Pin32、Pin3…

micropython on ESP32 でLINE

Twitterに飽きたらLINEもね。ということで、Espruino on ESP32 で LINE(その1) のmicprpython版です。 準備として、上のリンクにある通り、アクセストークンを取得しておきます。 以下がLINE Notifyにメッセージを送信するモジュールです。tiny_line.py とい…

micropython on ESP32 でTwitter(その4)

前回の受信プログラムはブロッキング動作のため、受信動作を行うとコールバック以外の処理が行えなくなってしまいます。そこで、今回はノンブロッキング動作に変更して他の処理を行えるように変更してみます。 とはいえ、tiny_twitterモジュールには既にノン…

micropython on ESP32 でTwitter(その3)

今回はtweet内容を受信するプログラムを試してみます。 Espruino on ESP32 で Twitter(その4) のmicropython版です。 あまりたくさんのtweetを一度に受信してしまうと、メモリ不足で落ちてしまいます。それを防ぐため、1つのtweetのデータが大きすぎる場合は…

micropython on ESP32 でTwitter(その2)

さて、早速tweetしてみましょう。 ESP32はmicropython on ESP32 でWi-Fiルータ(or AP)に接続するにしたがってWi-Fiに接続されていて、micropython on ESP32 でTwitter(その1)の手順で各モジュールが改造/インストール済みであるものとします。 以下のプログ…

micropython on ESP32 でTwitter(その1)

Espruino on ESP32 で Twitter(その1) - いっぺーちゃんの いろいろやってみよ~のmicropython版です これの元ネタがmicropython版なので、戻ってきた感じですが、Espruino版で入れた種々の変更も取り込んで一から作り直しました。 まずは、micropythonのBug…

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 にも日本語を - いっぺーちゃんの いろいろやってみよ~で新しいバージョンを公…