「PIC AVR 工作室」サイトの日記的なブログです。
サイトに挙げなかった他愛ないことを日記的に書き残してます。
PIC AVR 工作室 ブログ



Raspberry PiにRails環境構築。一応出来たことは出来た。

スキャフォールドで、DB絡めた簡単なサイト作って、
PC側のブラウザからアクセスして、データ更新したり
参照したりはできるようになった。なったことは
なった。

やっぱり遅いんだよな。レスポンスが。でもまぁ、
動くことは動く。4コアの新しいRaspberry Piなら、
もっと軽いんだろうな。



けども、Railsだと、周辺のマイコンと連動させて、
マイコン側からのデータを元にDBを更新させたり…
ってことをやらせようとすると、色々困ったこと
になりそうな感じ。

マイコンからサーバ側(Raspberry Pi)にアクセス
して、データをかき集めようとすると、できるだけ
単純なやり取りで済ませたいんだけど、Railsを
使っちゃうと、POSTメソッド使って、セッションID
をやり取りして…みたいにしないと、うまいこと
連動できない感じ。


環境構築に丸1日以上かかったのに、これを放っぽって
しまうのは気が引けるんだけど、とりあえず、もっと
簡単そうな、Python+bottle+sqlite3で、似たような
ことをやらせてみる。

…いいねぇ、bottle。やっぱいいねこれ。すごい
シンプルでサクサク。

環境構築なんて、フレームワーク用のテキストファイル
を1個ダウンロードするだけだし、自作プログラム側も
やりたい放題だし。ActiveRecordみたいな仕組みが
あるわけじゃないから、モデルとの連携っていうより、
素のSQL書いちゃうんだけど、まぁ、それはそれで
手っ取り早くやるには悪くない。


ってわけで、マイコン→サーバに蓄積→モータとか機械
を操作、みたいな流れだと、Python+bottle+sqlite3
はかなり楽できていいなぁ、って気がする。

動作もサクサクでレスポンスが良い。コードもすごく
書きやすい。



なんにしても、Raspberry Pi用RaspbianにrubyとRails
を入れるの、すんごい大変なのが判ったので、せっかく
作ったこのOSイメージは、PC側に吸い上げておいて、
いつでも使いまわしできるように、保存しておきたい
ところだな。
まぁ、あまり古くなっちゃうと、セキュリティーの
問題とかでまずくなっちゃうだろうけど。




bottleは、何回か弄ってみただけだったので、
簡単っぽい、軽い、って言うこと以外は、あまり
予備情報が無かったんだけど、

http://myenigma.hatenablog.com/entry/2015/06/27/112553

クッキーも使えたり、ファイルの送受信もできたり、
なにより当然ながらルーティング周りをさくっと
実装できちゃうの、楽だなぁ、って気がする。
テンプレートエンジンも色々絡められるしなぁ。

そういう意味では、bottleみたいなフレームワーク
って、DjangoとかRailsみたいな本格的なフレーム
ワークと違って、構造も使い方もシンプルで軽いから、
IoT用に、マイコンとかと絡めて使うフレームワーク
としては、結構便利なモノなんじゃないのかなぁ?
という気がする。




コメント ( 0 )




Raspberry PiのRaspbian、11月に新しいバージョン
リリースされてたみたい。

Raspbian-liteとRaspbian、両方ダウンロードして
みて、まぁ、とりあえず普通のGUI版Raspbianを
使ってみるか…と思って、アーカイブを解凍して
みようと思ったら…



うちのPC、こんな容量無いから、展開できないなぁ。
それにしても、何だろう、これ?734PBも必要な
OSって、なに?

https://www.raspberrypi.org/forums/viewtopic.php?f=28&t=121867&p=822068

公式のフォーラムでも取りざたされてるみたい。


とりあえず、ここはGUI無しのlite版を使ってみる
ことに。

容量的にはすごい小さい。ダウンロードしたアーカイブ
も400MBもないし、SDカードにOSを書き込んで立ち上げて
みると、使ってるのは800MBちょっと。

まぁ、色々インストールすると、それなりに容量食う
んだろうけど、GUI関係のパッケージがないおかげか、
容量小さくて済んでる。

初期設定は、シリアルログインしてサクサクやってから、
Wi-Fi設定終わったらsshでログインして…と思っていた
んだけど、Wi-Fi設定終わって、いざtera termからssh
でログインすると…接続が拒否されちゃう。

なんで?と思って色々調べまわってみると、どうやら
デフォルト設定ではsshログインできないようになって
いるらしい。raspi-configの画面からssh設定を開いて、
ログイン可に設定しないといけないみたい。

どうやら、ユーザ=pi、パスワード=例のあれ、って
いうパターンだから、このまま使っちゃうと不正
アクセスが簡単にできちゃう。なので、リモート
ログインするためには、パスワード設定させたい
みたいで、それやるまえはデフォルトではリモートで
ログインさせない設定になってるっぽい。




さて、Python3は?と思ってみてみると、入ってない。
3が入ってないとまたまた困るので、とりあえずは
Python3とpip3をいれて、pip3でRPi.GPIOを入れて
おく。

Rubyも古いやつしか入ってないって話だったよなぁ…
と思って確かめてみると… そもそも入ってない。

aptで入れようとすると、とりあえず2.1が入れられ
るみたいだな。

でも、2.1だとRails5に対応してないっぽい(2.2.1以降
が要りそう)なので、最新版Rubyを入れておくことに
してみた。

http://kasei-san.hatenablog.com/entry/2015/09/13/125825

rbenv入れて、最新版のRuby2.3.3を入れようとしてみる。
ここを参考に。

http://totech.hateblo.jp/entry/2015/06/06/152250


なんか、libssl-dev以外にも足りないパッケージが
あるっぽい。Raspbianがliteだからか?

http://qiita.com/sugryo/items/9d80ac3332a0ff9158ec

ここを参考に、Ruby関係のいろんなパッケージを
インストールしておく。

それにしても、ビルド、時間かかるなぁ。バイナリで
さくっとインストールできればいいのに。

上記のエラーも、3時間くらい放置しておいたら、
エラーで止まってたという次第。

しかも、ちょいちょいWi-Fi接続が切れるので、
screenコマンドでセッションを保存しておかないと、
ほんと困った状態になっちゃう。screen大活躍。



しかし、時間かかるねぇ…。

PC上で、qemuとかでさくっと環境設定してから、
そいつをSDカードに書き込んで、インストール
時間を短くするとかできないのかなぁ?

めんどうだから、aptで入る2.1で我慢しておいて、
Rails4入れちゃおうかな。





秋月の新商品。

http://akizukidenshi.com/catalog/g/gP-11470/

貼り付けボス。プラケースの底とかに貼っておけば、
基板を簡単にネジ止めできるという代物。これは
便利だな。





http://akizukidenshi.com/catalog/g/gM-11506/

jpegカメラ。TTL(UART)で取り込めるみたい。

ただなぁ…。Arduinoみたいな小容量のマイコン
だと、jpegフォーマットでとりこめても、LCD表示
すら難しいよな。デコーダプログラム無いと。

http://akizukidenshi.com/catalog/g/gM-09161/

ちょっと高いけど、レンズ交換できるGroveのやつ
もいいよなぁ。





https://twitter.com/Nikkan_BizLine/status/807042650213756928

夏目漱石、どんんだけ「アンチアップル」なんだよ、
と思ったらちがかった。





https://twitter.com/kimimachi1977/status/807088720197271552

そうなのか!!知らなかったよ。

ホッチキス付いたまま廃棄してよかったのか…。





http://www.aitendo.com/product/15158

aitendoの、12V 1.25Aスイッチング電源。
小さくて、なかなかいいな。

できれば、これで中点取れればいいのに。真ん中を
GNDにして、正負電源にできれば便利だよな。



コメント ( 0 )