みつきんのメモ

組み込みエンジニアです。Interface誌で「Yocto Projectではじめる 組み込みLinux開発入門」連載中

obnizとGPSモジュールで地図(その1)

目次

obniz

obnizはWifi経由でクラウドに常時接続され、クラウド経由で操作するマイコンボード。 通常のマイコンボードと異なるのはクラウド経由で操作するため、obnizにプログラムを書き込んだりしないということ。

JavaScript SDKを使用すると、ブラウザやNode.jsでobnizを操作することができる。 また、RESTFulなAPIやWeb Socketで、JSONを送ることで操作することもできるので、 PythonRubyなどJavaScript以外の言語でも使用することができる。

obnizは12のフレキシブルなIOを持っており、LEDやUART、SPIなどの機器を接続することができる。 各IOは最大1A流せるため、モータードライバなしでモーターを直に制御することができる。

その他、BLEやオンボードのOLEDを操作することもできる。

詳細はここを参照されたい。

概要

雑誌向けネタがボツったのでブログネタに。 でも近いうちに、obnizを使った記事は少しだけ書かせてもらう予定。(その時は宣伝します)

shop.cqpub.co.jp

ちょっと遅くなったけど、「第3章 地図×IoTマイコン実験(3)…オープンソース地図ライブラリを使う」の部分を書かせていただきました!

obnizとドアセンサを使った試作をしています。

最初はここの記事となっているGPSでの座標取得も提案したのですが、ボリューム的に見送ることになりました。

obnizでGPSモジュールの情報を取得

GPSモジュール

使用するGPSモジュールはGY-GPS6MV2

これはUARTでデータを取得することができる。

筆者はAmazonで購入した。

obnizはUARTを最大2つ使用できるので、このモジュールからNMEAを取得する。

obnizとGPSモジュールのサンプル

obnizとGPSモジュールの接続は次のとおり。

f:id:mickey_happygolucky:20181208103047p:plain
obnizとGPSモジュールの接続

GPSモジュールから取得したNMEAのデータをテキストエリアに出力するサンプルを次に示す。

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Obniz Test</title>

    <script src="https://code.jquery.com/jquery-3.3.1.min.js"></script>
    <script src="https://unpkg.com/obniz/obniz.js"></script>
</head>
<body>

<div id="obniz-debug"></div>
<textarea id="text" style="width:100%; height:200px; resize:none;"></textarea>

<script>
    const obniz = new Obniz('OBNIZ_ID_HERE'); //ここに8桁のIDを設定。
    obniz.onconnect = async function () {
        obniz.io0.output(1); //VCC
        obniz.io3.output(0); //GND

        const uart = obniz.getFreeUart();
        uart.start({tx:1, rx:2, baud:9600});

        uart.onreceive = function (data, text) {
            const textarea = $('#text');
            textarea.text(textarea.text() + text);
            textarea.scrollTop(textarea[0].scrollHeight);
        };
    }
</script>

</body>
</html>

OBNIZ_ID_HEREのところに、8桁のobniz IDを設定すると、そのobnizを操作することができる。 OBNIZ_ID_HEREのままにしておくと、実行時にobniz IDを入力するようにダイアログが出る。

これをブラウザで実行するとこのようになる。

f:id:mickey_happygolucky:20181208103212p:plain
実行画面