0
0

More than 1 year has passed since last update.

obnizボタンを押すと画面に『格言』を表示

Posted at

はじめに

obnizのボタンを押し、格言APIが表示されるIoTを作成しました。

APIはこちらを参考に引っ張ってきました。
https://zenn.dev/protoout/books/public-apis-api-get/viewer/01

前提条件

・Node.jsのインストール
・axiosのインストール
・obnizにボタンをつける

本題

完成は下記コード

//obnizのボタンを押すとadviceを返します
var Obniz = require("obniz");
//APIを叩ける
const axios = require('axios');

var obniz = new Obniz("XXXX-XXXX"); //obnizIDを入力
obniz.onconnect = async function () {
    let button = obniz.wired("Keyestudio_Button", {signal:0, vcc:1, gnd:2});
    while (true) {
        obniz.display.clear();
        await button.stateWait(false);
        main();
    }
}

const main = async()=>{
    try{
        const res = await axios.get('https://api.adviceslip.com/advice');
        console.log(res.data.slip.advice);
        obniz.display.print(res.data.slip.advice);
    } catch (error){
        console.error(error);
    }
}

obnizのボタンが押されると、stateWait()falseとなり、
main()が実行される仕様となっています。

main()に関して
console.logではAPIのデータで欲しい情報を記載します。
今回のデータではslipオブジェクト内のadviceというkeyに出力したい情報(value)があるため、このようなコードになっています。
(語弊があるかもしれませんが、ご了承ください。
 その際は、ご指摘いただけると幸いです。)

おわりに

落ち込んだ時とかやる気を出したいときに使ってください
英語の格言なので何いっているかわかりません...笑

今後は英語→日本語に翻訳して出力されるよう工夫したいと思います。
ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0