2019年1月26日土曜日

特許調査中

 GPS 絡みでお世話になっている会社にいったら、他社の近接検出装置のパンフレットを2枚見せてもらった。

 近接検出装置は当社でも開発中...、というかマーケットリサーチの結果、需要がなさそうなので開発中断中。

 パンフレットの一枚は既知で、もう一枚は未知、未知の方には特許出願中の文字が。

 ということで特許調査。

 パンフレットには番号など一切なかったのでメーカー名から調査。「特許情報プラットフォーム」で検索したら複数件ヒット。そのうちの一件が目指す特許らしい。

 申請後3年目(期限ぎりぎり)で審査請求。申請内容を確認したが、通りそうも無いし、通っても権利を侵害することはなさそう。

----
 未知だった近接検出装置、開発は 2012年っぽい。だが、商品化されていないようで Web サイトに載っていない(開発実績にそれっぽいのがあるだけ)。
 既知だった方も 2012年に開発されたっぽい(補助金の支給年度より)。2018年に新バージョンが出たそうだが、いまだ「商品」としては販売されていない模様。

 競合製品が二つあって、いずれも普及していないということは、マーケットが無いらしい ><

2019年1月24日木曜日

RPZ+Alpine Linux:シリアルポートの使い方

Raspberry Pi Zero + Alpine Linux でシリアルポートを使う方法

1./dev/ttyS0 がないことを確認

2.mount -o remount,rw /dev/mmcblk0p1 を実行
(こちらを参考に https://tech.144lab.com/entry/rasp-alpine )

3./media/mmcblk0p1/config.txt を修正

----
 略
 [pi0]
 kernel=boot/vmlinuz-rpi
 initramfs boot/initramfs-rpi
 enable_uart=1     <- これを追加
 [pi1]
 略
(こちらを参考に)

4.reboot

4./dev/ttyS0 があることを確認

5.stty -F /dev/ttyS0 -a で状態を確認
(こちらを参考に)

6.stty -F /dev/ttyS0 19200 cs8 -parenb -cstopb で設定
(こちらを参考に)

2019年1月21日月曜日

RPZ+Alpine Linux:bottle のインストール

> pip install bottle

で OK

こちらを参考にした
https://kokensha.xyz/web/docker-compose-bottleand-flask/#Dockerfile

こちらも参考になりそう

https://qiita.com/masaibar/items/e3b6911aee6741037549

https://qiita.com/h_kabocha/items/531e9bdd154b50da227b

2018年12月29日土曜日

Rasp Pi Zero WH:Raspbian:Alipine:Linux:Rasp Pi ZERO で動くシステムの OS を Raspbian から Alpine Linux に差し替えた

Rasp Pi ZERO で動くシステムの OS を Raspbian から Alpine Linux に差し替えた

なぜ?
 shutdown 操作なしでの電源断で SD カードの内容が壊れるのを防ぐため
 
どんなシステム?
 機能1 USB から入力されるデータの一部をネット経由でサーバーに上げる
 機能2 USB から入力されるデータの一部を接続してある LCD に表示する
 USB から入力されるデータ - C94-M8P が送出する RTCM3
 データをネット経由でサーバーに上げるプログラム - str2str
 データを LCD に表示するプログラム - python で書いた自家製プログラム

どうやった?
 ・Alpine Linux 3.8.1 - RASPBERRY PI - armhf をダウンロードして、fat32 でフォーマットした sd カードに解凍したものをコピー
 ・上記 sd カードを RaspPi Zero にセットしてこちらこちらを参考に OS をセットアップ
 ・Raspbian でコンパイルした str2str は Alpine Linux では動かなかった。Rasp Pi Zero でコンパイルするために gcc をインストールし、rtklib のソースをインストールしようとしたところで、メモリが足りなくなる。
 ・Rasp Pi 3B+ を買ってきて 3B+ 向けの sd カードを作成、コンパイルを再挑戦(Zero は RAM 512M だが、3B+ は RAM 1G)。コンパイル成功。
 ・Rasp Pi 3B+ でコンパイルした str2str を Rasp Pi Zero コピーして動作確認
 ・Rasp Pi Zero に python2 をインストールして LCD 制御プログラムの動作確認
  - pip で sysv_ipc, pymap3d をインストールする必要があったのだが、そのために apk で gcc, python2-dev, musl-dev をインストールする必要があった。gcc, python2-dev, musl-dev をインストールして pip を実行、pip 終了後に gcc, python2-dev, musl-dev をアンインストールした。
 ・pip でインストールした内容を 'lbu ci -d' の対象とするために 'lbu add /usr/lib/python2.7/site-packages/*' を実行
 ・/etc/init.d/shoho-getmsg, /etc/init.d/shoho-str2str を作って str2str 、lcd 制御プログラムをサービス化。
 ・'lbu add /etc/init.d/shoho-getmsg', 'lbu add /etc/init.d/shoho-str2str', 'lbu ci -d' を実行して、必要なファイルを永続化。


ここまででわかったこと
 ・RAM の半分を RAM-DISK として使い、通常動作中は sd カードに書き込みをしない
 ・RAM-DISK の内容を sd カードに保存するコマンドは 'lbu ci -d'
 ・RAM-DISK から sd カードに保存する領域の指定は 'ldu add /xxx/xxx'
  - /xxx/xxx/* としないと、サブディレクトリ一式を指定したことにならない
 ・パッケージ管理は apk (apt でも yum でもない)
 ・サービス管理は OpenRC (SysVinit でも Systemd でもない)
  -普通のプログラムはそのままではサービスにならない。バックグラウンドに回すスクリプトを書く必要がある(Systemd の場合は不要だった)
 ・サイズが小さい(上記システムが動く sd のファイルサイズが合計で 145MB)
 ・ファイルフォーマットが FAT32 (Windows で全領域にアクセスできる)
 ・バックアップ・リストアが楽(FAT32 でファイルサイズが小さいので、Windows で簡単にバックアップできる。リストアは Windows で FAT32 でフォーマットした sd カードにバックアップしたファイルをコピーすれば OK)


 

2018年12月25日火曜日

Rasp Pi Zero WH:Alipine Linux RPi.GPIO のインストール

pip を入れてから

>pip install rpi.gpio
とやったら、コンパイルができない >< 系のエラーが出たので

>apk add gcc

とやってから再挑戦。 "Python.h がない!!" というエラーが出たので

> apk add python2-dev

とやってから再挑戦。"limits.h がない!!"というエラーが出たので

>apk add musl-dev

とやってから再挑戦。

やっと Successfully !

Rasp Pi Zero WH:Alipine Linux pip のインストール

ネットで探してもインストール方法が見つからなかったので頭をひねった。

> apk search | grep pip
py2-pip-10.0.1-r0
py-django-pipeline-1.3.25-r0
uwsgi-logpipe-2.0.17-r1
rp-alpine-4-1:/$ apk add py2-pip
でみつかったので
 
> apk add py2-pip

とやったらエラーが出てきて、最後に

>You are using pip version 10.0.1, however version 18.1 is available.
>You should consider upgrading via the 'pip install --upgrade pip' command.

と表示されたので

>pip install --upgrade pip

を実行して完了

2018年12月18日火曜日

Rasp Pi Zero WH:Alipine Linux インストール

 Raspberry Pi Zero を組み込み用に使おうとうしたときに、問題となるのが電源断時の SD カードの内容の保護。
 
 Qiita で RaspberryPi2 の SD カードを aufs と fsprotect で保護する という記事を見つけたが、クロスビルドの環境構築で挫折 ><。他に何か中と調べたら RaspberryPiで「alpinelinux」 という記事を発見。いろいろと特徴が書かれていたのだが、
 
>よほどのことがないと起動パーティションは壊れない(書き換えようとするプロセスが居ない)
>機器の電源断やCPUの誤動作程度ではほぼほぼ起動パーティションの破壊はおこりません

の二点に惹かれて試してみることに。

↑のサイトの内容だけではうまくいかなかったので Raspberry Pi3 ZERO(W) Alpine Linux(3.8.1)インストール と合わせて何とかうまくいった。

実際に行ったのは、結局、