教室で立てようチャットサーバ、ラズパイ3ならコンセントに挿すだけ!

極小手作りネットワーク」では1対1の通信、「ちょっと物足りない」という場合は多対多、インターネットでも標準的なネットワーク方式「TCP/IP」を味わってみましょう。

取り出しましたはRaspberryPi3、WiFi搭載ということでこれをアクセスポイント(AP)にしてIchigoJam達をwifi接続します。消費電流は0.46A、ICの温度は43℃。

今回も IchigoDake / IchigoDyhookMixJuiceを接続すればWiFiに接続できます。

ラズパイで作ったAPに接続したら、

MJ TCP 192.168.4.1 3333

にアクセス。ここにはチャットサーバーを立てておきました。

var net = require('net');
var member = new Array();

var server = net.createServer(function(socket) {
        member.push(socket);

        socket.write(`'chat server(member:${member.length})\r\n`);
        socket.on('data', function(data){
                console.log(data);
                var text = data.toString('utf8');
                console.log(text);

                for(var n in member){
                        member[n].write('\''+text);
                }
        });
        socket.on('close', function(){
                member = member.filter(item => item !== socket);

                console.log('closed.\r\n');
        });
});

server.listen(3333, '0.0.0.0');

これがラズパイの中に作ったチャットサービスのプログラム「chat.js」。

前回と同じ、チャットを送るには「PRINT」or「?」を使います。

残りの5台に「Hello!!!」が一斉に届きました。

「KONNICHIWA」を返してみると、

みんなに「KONNICHIWA」が届きます。

前回と違ってwifiなので結構離れても、しかも何人でも同時にチャット可能、これは楽しいっ!

ちなみに、前回の3本線とハード構成が同じなので、IchigoLatte JS

while(1){
  var k=inkey();
  if(0<k) uart(k);
  var u=uart();
  if(0<u) log(chr(u));
}

このチャットプログラム、そのまま動くはず。君が作ったBASICのチャットプログラムもそのままうごくよ!

iodataのラズパイなら、設定してコンセントに挿すだけで辺りにチャットのwifiが飛ぶ。こっそり教室で動かしてみてはいかが?

(設定済みのSDをご入用の方はご連絡ください)










.

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google photo

You are commenting using your Google account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s