Category Archives: Raspberry Pi

Onion Pi Pack w/Large Antenna – Make a Raspberry Pi B+ Tor Proxy ID: 1406 – $74.95 : Adafruit Industries, Unique & fun DIY electronics and kits

Feel like someone is snooping on you? Browse anonymously anywhere you go with the Onion Pi Tor proxy. Using this pack of parts and a free weekend you can build a project that uses a Raspberry Pi B+, a USB WiFi adapter and Ethernet cable to create a small, low-power and portable privacy Pi.

Source: Onion Pi Pack w/Large Antenna – Make a Raspberry Pi B+ Tor Proxy ID: 1406 – $74.95 : Adafruit Industries, Unique & fun DIY electronics and kits

こじ研(Raspberry Pi)

シングルボードコンピュータ Raspberry Pi を活用して,Unix (Linux) が動作する小型パソコンを作ります.この準備編では,Raspberry Pi を無線でリモートログインできるパソコンに仕立てます.(入門編では C 言語 + GTK によるアプリ開発,応用編では LED やスイッチの接続や,文字表示(キャラクタ液晶ディスプレーを利用)やグラフィック表示(OLED やカラー液晶ディスプレーを利用)などにも取り組みます.)

Source: こじ研(Raspberry Pi)

Blynk – Control Arduino, Raspberry Pi, Spark Core and other microcontrollers on the App Store on iTunes

Read reviews, get customer ratings, see screenshots, and learn more about Blynk – Control Arduino, Raspberry Pi, Spark Core and other microcontrollers on the App Store. Download Blynk – Control Arduino, Raspberry Pi, Spark Core and other microcontrollers and enjoy it on your iPhone, iPad, and iPod touch.

Source: Blynk – Control Arduino, Raspberry Pi, Spark Core and other microcontrollers on the App Store on iTunes

a Respberry Pi MQTT sample

MQTTのPublisher(リモコン)からのメッセージは、MQTTのbrokerを経由して、自宅Raspberry Pi にMQTTのSubscriber(受信機)受信し、液晶表示盤にテキスト表示、LEDバックライトのON/OFFするできた!

MQTTのbrokerはsango(時雨堂という会社が無償提供) MQTT サーバーを利用。

MQTTのPublisher(リモコン)は、MQTTLens利用。

MQTTのSubscriber(受信機)サンプルコード!

var fs = require('fs');
var mqtt = require("mqtt"),
    config = require("./config.json"),
    client = mqtt.createClient(config.port, config.host, config.options);
var exec = require('child_process').exec,
    child;

client.subscribe(config.topic + "/#");

client.on("message", function(topic, message) {
                console.log(topic, message.toString());

                switch (topic){
                case 'chen420@github/led':
                command = (message!='0'?1:0);

                fs.writeFileSync('/sys/class/gpio/export', 9);
                fs.writeFileSync('/sys/class/gpio/gpio9/direction', 'out');
                fs.writeFileSync('/sys/class/gpio/gpio9/value', command);
                fs.writeFileSync('/sys/class/gpio/unexport', 9);
                break;

                case 'chen420@github/lcd':
                child = exec('/usr/local/bin/lcdprint ' + message,
                        function (error, stdout, stderr) {
                        // console.log('stdout: ' + stdout);
                        // console.log('stderr: ' + stderr);
                        if (error !== null) {
                        console.log('exec error: ' + error);
                        }
                        });
                break;
                }
}
);

参考文献の設定ファイルを利用した。LEDバックライトは、gpio 9番に設定、テキスト表示は、PCD8544-utils のlcdprint コマンドを利用した。

Subscriber の実行:

$ node mqtt-led.js

MQTTブローカーのそれぞれTopicに メッセージが下記の動作が発生

  • chen420@github/led | 0 または1 | バックライトのON/OFF
  • chen420@github/lcd | ”表示メッセージ” | 表示

Subscriberの永続化(サービスとして動く)が次の課題に。

参考文献 : 肩に乗せてもらった巨人達

Raspberry PiでMQTT通して連携

この数週間Raspberry PiにによりHome Automationなどを再考して、Node.js、WebIOPiなど、サーバとして可能性を調べているが、なぜかMQTTに出会って、実装までして、全く違う方向へ進行した。

先週たまたま Ruby – Raspberry Pi で室内の温度を可視化するよー – Qiita 記事を見て、「Sango を介して(MQTT で)結果を Graphite に飛ばす」とはなにか、調べてみた。

MQTTは、M2MやIoT向けの軽量プロトコル。いろいろとメリットあるが、Raspberry PiでMQTT通して連携するメリット考えると

  1. ルータに穴を開ける必要がない
  2. サーバ公開する必要がない
  3. セッション維持する必要がない
  4. 重いHTTPサーバもつ必要がない

実は2年前も自宅に、Raspberry Pi wireless 温度計の制作 をしたが、サーバ公開してないので、外から見れない。もちらん公開する方法もあるが、自宅サーバ際クラウドへ移転などするので、Raspberry PiだけのためにDDNSメンテナンスする気がならない。MQTTならブローカーに繋がれば、いろいろ連携プレーが考えられる。

早速自宅温度データをSango にPubして、他所からSubで見れるようになった。

それからMQTTを通して、自宅Raspberry Piの液晶表示版にテキスト表示、LEDバックライトのON/OFFもできた!

これから、MQTTのメッセージをMongoDBに保存、Google spreadsheetsに保存、グラフ表示、plot.lyのグラフ表示など、やってみたいと思う。

そうそう、AppInventorから、MQTTを通して、Raspberry Piの状態表示、GPIOのコントロールもしてみたい。

Raspberry Pi 液晶表示盤のLED制御

数か月前、Raspberry Pi に液晶表示盤を付けたが、バックライトのLEDは常にONのため、夜は眩しい。GPIOからON/OFF制御可能にしたい。

回路図がないのため、ネットでいろいろ調べて、バックライトのLEDは、GPIOに繋ぐと、3.3V に直結したタイプあるそうです。

WebIOPiをインストールして、ブラウザから、すべてGPIO端子ON/OFFして見たが、バックライトのLEDがON/OFF現象が認めない。つまり、購入したものは3.3V に直結したタイプらしい。

基盤の結線を探し、切断してGPIOにつなぎ直し方法もあるが、なかなか決心とタイミングが必要ね。

たまたま液晶表示盤は、PCD8544 LCD使うらしい。そのPCD8544の制御方法を探す際、PCD8544-utils ( https://github.com/acidum/PCD8544-utils )見つかり、おまけに、液晶表示盤改造でバックライトのLED制御する方法まで書いた。小さな抵抗を溶かして、180度回転し、ジャンパー線でコネックターまで繋ぐ方法。

タイミングを見て、改造に取り込んだ。特に上記URLに説明した凹みを作って結線することなく。ケース入りだからそのまま結線でも問題ないと。

2015-04-27 21.51.582015-04-27 21.52.45

結線の正面と裏面、遂に成功した。手元に結線がなく、古い結線付きコネックターの結線をカットして再利用。

2015-04-27 21.51.58

近眼鏡と虫眼鏡の組み合わせて些細作業を進み、一度小さな抵抗が跳ねて見失い、諦めかけた時もあった。

2015-04-27 21.56.23

セット組み直して、WebIOPiから、21番PIN(GPIO9)のON/OFFで、バックライトのLEDがON/OFFが確認した。

これてRaspberry Piに状態変更があるとき、メッセージが届いたとき、バックライトのON/OFF、Blinkなどで表現する手法も増えた。

 

参考文献 肩に乗せてもらった巨人達:

Raspberry PiにWebIOPiをインストール

Raspberry PiのGPIOをブラウザから操作したいので、WebIOPiをインストールした。

まずパッケージをダウンロードして、解凍、セットアップ

1)sudo wget http://webiopi.googlecode.com/files/WebIOPi-0.6.0.tar.gz

2)tar xvzf WebIOPi-0.6.0.tar.gz

3)cd WebIOPi-0.6.0

4)sudo ./setup.sh

インストール終わったら、下記のメッセージが表示。Python のライブラリーがあり、細かい制御可能。またREST APIは下記にまとまっている。
RESTAPI – webiopi – Internet of Things framework – Google Project Hosting

REST APIなので、いつかApache/phpで制御する仕組みをやってみようと思う。

WebIOPi successfully installed
* To start WebIOPi foreground   : sudo webiopi [-h] [-c config] [-l log] [-s script] [-d] [port]
* To start WebIOPi background   : sudo /etc/init.d/webiopi start
* To start WebIOPi at boot      : sudo update-rc.d webiopi defaults
* Look in /home/chen/WebIOPi-0.6.0/examples for Python library usage examples

起動させる

5)sudo /etc/init.d/webiopi status

6)sudo /etc/init.d/webiopi start

ブラウザからアクセスする

7)http://raspbian-ip:8000/ for log in from other computer

8)http://localhost:8000/ for log in from Raspian itself

9)user name=webiopi and password=raspberry

image

ここで GPIO Header を開くと、実物順のRaspberry Pi GPIO表示され、適当に設定可能。

image

GPIO Listをクリックすると、Raspberry Pi GPIO番号順に表示され、適当に設定も可能。

image

サービスの停止

10)type sudo /etc/init.d/webiopi stop to stop webiopi service

Android アプリもある

11)from play store,download DrGPIO to Android phone to control the Pi

これがあると、GPIOの検証が楽だろう。

Raspberry Pi に液晶表示盤の回路図がないのため、基盤の結線を感で探すから、GPIO端子ON/OFFして見ると判断の手助けになる。

参考文献 -  肩に乗せてもらった巨人達: