9ドルコンピュータC.H.I.Pで話題のIoT体験
話題のIoTが、Raspberry Piですでに試したが、今度9ドルコンピュータC.H.I.Pでいろいろ体験すると思う。
まずWebから、LEDのON/OFFを試す。
1)環境作成:
最新状態にする
root@chip:~# apt-get update
root@chip:~# apt-get upgrade
localesを再インストールする。
root@chip:~# apt-get purge locales
root@chip:~# apt-get install locales
root@chip:~# dpkg-reconfigure locales (en_US.UTF-8 を選ぶ)
#これをしないと、下記のエラーは延々と出る。
locale: Cannot set LC_CTYPE to default locale: No such file or directory
locale: Cannot set LC_MESSAGES to default locale: No such file or directory
locale: Cannot set LC_ALL to default locale: No such file or directory
apache2インストール
root@chip:~# apt-get install apache2
root@chip:~# a2enmod cgi.load
root@chip:~# /etc/init.d/apache2 restart
c環境をインストールする。
root@chip:/home# apt-get install gcc make
2)プログラミング
rootの実行権限でLEDを操作するから、最初Perlで簡単に作れると考えたが、うまくいかない。
下記の参考ページで、C言語で作った。
root@chip:/usr/lib/cgi-bin# cat on.c
#include <stdio.h>int main()
{
system("/usr/sbin/i2cset -f -y 0 0x34 0x93 0x1");
printf("Content-type: text/htmlnn");
printf("<HTML><BODY>");
printf("<H2>Hello! On</H2>");
printf("</BODY></HTML>");
return 0;
}
root@chip:/usr/lib/cgi-bin# cat off.c
#include <stdio.h>int main()
{
system("/usr/sbin/i2cset -f -y 0 0x34 0x93 0x0");
printf("Content-type: text/htmlnn");
printf("<HTML><BODY>");
printf("<H2>Hello! Off</H2>");
printf("</BODY></HTML>");
return 0;
}
root@chip:/usr/lib/cgi-bin#
コンパイルする
cc -o on on.c
cc -o off off.c
rootの実行権限を与える
chmod +s /usr/lib/cgi-bin/o*
3)プログラミング実行
最初に、コマンドラインで、LEDのOn/Offを確認する。
root@chip:~# /usr/sbin/i2cset -f -y 0 0x34 0x93 0x1 #On
root@chip:~# /usr/sbin/i2cset -f -y 0 0x34 0x93 0x1 #On
ブラウザから、LEDのOn/Offを試す
http://192.168.0.104/cgi-bin/on
http://192.168.0.104/cgi-bin/off
順調なら、話題のIoTが、まずWebから、LEDのON/OFFを試すことができた。
これから時間が空いたら、Raspberry Piの温度センサー、WebCameraもこちらに動かしてみる。
あとiBeaconの近接通知機能が試したいので、iBeaconのモジュールを注文した。
参考: