2017年08月14日

ラズパイ+AVR:自動水やり器完成

 自動水やり器、一応完成しました。別記事を書きました。→「自動水やり器の製作

20170814-1.jpg

 2日間ほど試験運用してみたところ、ちゃんと1日2回水やりができている模様。お盆の帰省中も、ちゃんと動いていてくれた。

 作ってから気がついたのだけど、水をやる設定時間がプログラム中にハードコーディングされているので、変更ができない。これは変更できるようにすべきだったな。小さいタクトスイッチ1個ぐらいなら追加できそうだから、「スイッチを長押ししたら時間設定モード」という仕様にはできるはず。まあ、今シーズンは今のままいけると思うので、来シーズンに向けての課題ということで。

posted by toshinagata at 19:06| 日記

2017年08月12日

さくらブログのスマホ対応(改良)

 以前にこのブログをスマホ対応にしたのだけど、いつの間にか、うまく見えなくなっていた。スマホで見ると、自動転送が無限ループしたような状態になってしまう。仕様が変わったんかなあ?

 少し試行錯誤して、一応見られるようにはなった。前と同様に、スマホサイトの「コンテンツ」は「自由形式」のみとして、その中身を下のように変更。

<SCRIPT LANGUAGE="JavaScript">
<!--
var url = location.pathname + "?from_sp";
if (document.referrer) {
  var ref = "referrer=" + encodeURIComponent(document.referrer);
  url = url + "&" + ref;
}
location.href = url;
// -->
</SCRIPT>

 ブログのパス名 (http://blog.d-alchemy.xyz/) に "?from_sp" をつけると PC 向けのサイトに誘導されるらしい。詳しくはよくわからないのだが、以前はクッキーでスマホ向けと PC 向けを区別していたのを、"?" 以下の文字列で区別するようになったのかな? とにかく、一応動くようになったので、しばらくこれで運用してみる。

 08/13 追記:やっぱりうまくいかない。これが正解か?

<SCRIPT LANGUAGE="JavaScript">
<!--
var url = location.pathname;
url = url.replace(/\/s\//, "/");
url = url + "?from_sp";
if (document.referrer) {
  var ref = "referrer=" + encodeURIComponent(document.referrer);
  url = url + "&" + ref;
}
location.href = url;
// -->
</SCRIPT>
タグ:ブログ
posted by toshinagata at 16:46| 日記

2017年08月09日

ラズパイ: Luajit で OpenVG を使う

 ラズパイ上のスクリプト言語の一つとして、Jun Mizutani さんに倣って、luajit を試してみた。これはいいですね。C のインターフェイスを内蔵していて、OS の共有ライブラリを直接呼べるのがいい。

 低レベル入出力関数の open() なんかも、こんな風に直接呼び出せるわけです。

local ffi = require "ffi"
ffi.cdef[[
  int open(const char* filename, int flags);
  int close(int fd);
]]
local O_RDONLY = 0
fd = ffi.C.open("/dev/input/event0", O_RDONLY)

 前にやった OpenVG のグラフィック描画 を、luajit で試してみた。Jun Mizutani さんの LjES を参考にした(一部コードを使わせていただいた)。

20170809-1.jpg

 昔の 8 ビットマイコンゲーム風動画。まだキャラクタが動いているだけだけど。

 コードはこちらに置いておきます。ラズパイ上でダウンロードして、tar xvfz ljsc_sample.tar.gz で展開して、cd ljsc_sample; luajit fish.lua で実行できます。

posted by toshinagata at 17:49| 日記