2020年1月25日土曜日

ラズパイにjavascript環境を構築する

概要

ラズパイにnode.jsをインストールしてjavascriptのサーバ環境を構築します。※準備中

手順

  1. ラズパイにnodejsをインストールする
  2. ラズパイにnmpをインストールする
  3. フォルダを作成して、npm initコマンドを実行する
  4. なにも考えずにinitしたらワーニングが出た。
    pi@raspberrypi:/usr/local/bin/MyLineBot $ sudo npm init -y
    npm WARN npm npm does not support Node.js v10.15.2
    npm WARN npm You should probably upgrade to a newer version of node as we
    npm WARN npm can't make any promises that npm will work with this version.
    npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
    npm WARN npm You can find the latest version at https://nodejs.org/
    Wrote to /usr/local/bin/MyLineBot/package.json:
    
    {
      "name": "MyLineBot",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC"
    }
    
    npmのバージョンアップ
    pi@raspberrypi:/usr/local/bin/MyLineBot $ sudo npm install npm@latest -g
    npm WARN npm npm does not support Node.js v10.15.2
    npm WARN npm You should probably upgrade to a newer version of node as we
    npm WARN npm can't make any promises that npm will work with this version.
    npm WARN npm Supported releases of Node.js are the latest release of 4, 6, 7, 8, 9.
    npm WARN npm You can find the latest version at https://nodejs.org/
    /usr/local/bin/npm -> /usr/local/lib/node_modules/npm/bin/npm-cli.js
    /usr/local/bin/npx -> /usr/local/lib/node_modules/npm/bin/npx-cli.js
    + npm@6.14.4
    added 435 packages from 869 contributors in 53.254s
    
    もう一度initをやり直し。今度はエラーが出なかった
    pi@raspberrypi:/usr/local/bin/MyLineBot $ sudo npm init -y
    Wrote to /usr/local/bin/MyLineBot/package.json:
    
    {
      "name": "MyLineBot",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo \"Error: no test specified\" && exit 1"
      },
      "keywords": [],
      "author": "",
      "lice
    
  5. 実行するjavascriptを作成する
  6. javascriptを自動起動にする

LINEのボットを作成する

概要

LINEのボットを作成する方法を記載します。すごく簡単で感動しました。
エンジニアじゃなくても問題なく作れちゃうと思います。

作業手順

  1. LINE Developpersにログインする
  2. LINE Developpersホームページ
  3. プロバイダを作成する
  4. プロバイダータブを選択して作成を選択します。
  5. プロバイダ名を設定する
  6. ・プロバイダ名を入力して、作成を選択します。
  7. MessagingAPIのチャネルを作成する
  8. ・チャネルの内容のイラストが選択できるので、MessagingAPIを選択します。

    ・自分が作成したいチャネルのアイコン、チャネル名、チャネルの説明などを設定します。
    ここで設定する内容がLINEのアイコンになります。一通り作成したら利用規約を確認したうえで作成を選択します。
  9. チャネルを作成するとQRコードを表示することができるので、自分の端末に友達追加します。
  10. メッセージの受け答えを設定する
  11. ・応答メッセージの編集をクリックします。

    ・応答メッセージの作成をクリックします。

    ・キーワードと答えさせたい内容を設定して作成をクリックします。

    ・これでキーワードに対して設定した内容がかえってきます。とても簡単です!

LINEとラズパイを連携させて外から部屋の温度を知る

やったことの概要

家にあるラズパイを有効活用したいと考え、温湿度センサをつけてそれを外から読み出せるようにしました。
やりたかった機能は以下の2つになります。

・「温度は?」と聞かれたときに応答形式で最新の温度を答える機能
・一日の終わりにその日の温度をプッシュ通知してくれる機能

準備するもの

・ラズパイ
・温度センサキット
・スマホとLINE

やったことへのリンク

※準備中です。少しずつブログにまとめてリンクを張っていきたいと思います
  1. LINEのボットを作成する
  2. ラズパイにjavascript環境を構築する
  3. LINEのボットを経由してラズパイのコマンドを実行する
  4. ラズパイで部屋の温度を1分毎に取得する
  5. ラズパイで取得した温度を1日分のレポートにまとめる
  6. ラズパイから1日分のレポートをLINEにプッシュ通知する

2020年1月20日月曜日

H20春ES午後1問3 キャッシュレジスタ

問題の感想

キャッシュレジスタの問題です。設問1に計算問題が続いて焦りますが実はそんなに難しくなかったです。

間違い箇所

  • 設問2(4)(a)
  • データ送信時に、予備テーブルの内容だけ表示する理由が問われています。
    送信を行うデータは、送信依頼が発生した時刻以前のデータになります。書き込み途中のデータは送信の対象外になるので、回答としては以下になります。

    データ送信中に登録処理が完了した場合に、送信中のデータ内容が変更されるのを防ぐため(41文字)

  • 設問3(1)
  • バーコード処理を追加した際に変更になるキー入力タスクの変更内容を問われています。
    変更前のキー入力タスクの処理としては商品単価と分類の情報を売上管理タスクに渡しているので、バーコードを使って同じことをできるようにします。商品単価と分類キーを得るためのタスクとして商品テーブル検索タスクも追加になっているので、その機能を利用して以下のように回答します。

    バーコード入力タスクからの通知を待つようにし、バーコード入力タスクからのデータを基に商品テーブル検索タスクに単価と分類キーを得るようにする(69文字)

2020年1月7日火曜日

topコマンドの使い方

コマンド概要

プロセスの状態を継続的に監視する、topコマンドの使い方をまとめます。

コマンド書式
$ top


コマンド使用例

  • プロセスの状態を確認する
  • 
    $ top
     top - 21:33:13 up 2 min,  3 users,  load average: 0.33, 0.36, 0.15
     Tasks: 145 total,   1 running, 144 sleeping,   0 stopped,   0 zombie
     %Cpu(s):  0.3 us,  0.1 sy,  0.0 ni, 99.6 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
     MiB Mem :    926.1 total,    586.8 free,    110.8 used,    228.6 buff/cache
     MiB Swap:    100.0 total,    100.0 free,      0.0 used.    753.7 avail Mem
    
       PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
      1035 pi        20   0    6868   2836   2444 R   1.0   0.3   0:00.09 top
       417 root      20   0   32956  11832   9300 S   0.3   1.2   0:00.39 vncserver-x11-c
         1 root      20   0   33680   8016   6432 S   0.0   0.8   0:03.93 systemd
         2 root      20   0       0      0      0 S   0.0   0.0   0:00.00 kthreadd