忘備録-備忘録

技術的な備忘録

起動時にNTPと時刻を合わせる

2018-11-13 20:06:00 | raspberry ...

Raspberry PiはRTCを持っていないために電源を切ると日付、時刻の設定が乱れてしまいます。電源投入時に1度だけNTPサーバにアクセスし時刻を取得するようにしました。

1.ntpdateのインストール

NTPサーバから時刻情報を取得するコマンドntpdateをインストールします。

$ sudo apt-get update

$ sudo apt-get install ntpdate

2.systemed設定ファイル作成

次の内容のファイルをntpdate.service名前で作成します。

[Unit]
Description=Set time with ntpdate
After=network.target

[Service]
# use -u to avoid conflict with ntpd
ExecStart=/usr/sbin/ntpdate -u pool.ntp.org

# we may not have network yet, so retry until success
Restart=on-failure
RestartSec=60s

[Install]
WantedBy=multi-user.target

3.サービスとして起動

作成したファイルをコピーしサービスとして起動させます。

$ sudo cp ntpdate.service /lib/systemd/system

$ sudo systemctl enable ntpdate.service

コメント

Raspberry pi Zero W を USB OGT Serialで使う

2018-11-13 19:32:00 | raspberry ...

Raspberry Pi Zero WをUSBケーブル1本で使用する方法がここに書いてありました。Raspberry Pi Zero WのUSB端子をUSB serial デバイスとして設定しホストコンピュータからアクセスします。WindowsからCOM4と認識されたRaspberry Pi Zero WのUSBポートにアクセスしているところを次に示します。

image

 

設定方法

一度、通常起動してからの設定が簡単です。普通にインストール&起動させてから /boot/config.txt,/boot/cmdline.txt を書き換えます。

/boot/config.txt ファイル

#ファイルの最後に2行追加する
enable_uart=1
dtoverlay=dwc2

/boot/cmdline.txtファイル

改行せずに1行で入力します。

dwc_otg.lpm_enable=0 console=serial0,115200 console=tty1 root=PARTUUID=xxxxxxxx-xx rootfstype=ext4 elevator=deadline fsck.repair=yes rootwait modules-load=dwc2,g_serial

root=PARTUUID=xxxxxxxx-xx の部分はインストールするごとに変わります。rootwaitの後を書き換えます。

最後にgettyが動作するようにコマンドラインから次のように入力します。

$ sudo ln –s /lib/systemd/system/getty@.service /etc/systemd/system/getty.target.wants/getty@ttyGS0.service

SDカードにRasberianをインストールし、起動前に設定を行い、USBケーブル1本のみで動作させることもできます。しかし、最後の設定はWindows上から行うことができません。ホストマシンがLinuxであれば最後の設定は、SDカードをホストLinuxマシンにマウントし、次のように行います。

$ sudo ln -s /lib/systemd/system/getty@.service /media/user/uuid-of-sd-card/etc/systemd/system/getty.target.wants/getty@ttyGS0.service

 

DSC_0950 (2)

コメント

πduinoを作る

2018-10-24 19:09:00 | raspberry ...

トランジスタ技術2017年2月号に紹介されたπduinoを自作してみました。Raspberry PiにADコンバータを手軽に増設でき、5V系IOを制御できるようになるため便利そうです。製品としていくつかのサイトで取り扱っていますが、いろいろな機能が含まれるため、必要な部分だけ抜き出して製作しました。

回路図

rect7410

完成

piduino

ピンの配置はArduinoと違います。Raspberry Pi上にぴったり重なるサイズにしました。Kicadで作成したデータをおいておきます

コメント

πduinoを使う

2018-10-17 09:47:48 | raspberry ...

トランジスタ技術2017年2月号に掲載されたπduinoを使ってみました。OSのバージョンの違いか記事通りに設定しても動作しませんでした。設定方法を変えて動作させることができました。

シリアルの設定

シリアル通信については[Raspberry piの設定]で設定するだけでOKです。

image

[Serial Port] 有効

[Serial Console] 無効

続いて /etc/rc.local ファイルに次の1行を追加します。

/usr/bin/gpio mode 0 alt5

arduinio環境から書き込むときは /dev/ttyS0 を指定します。

image

コメント

node-redでLCD表示 その3

2017-12-12 20:08:00 | raspberry ...

前回のnode-redでLCD表示その2を少し変更しループなしで表示できるようにしました。

image

[{"id":"b9779166.036e5","type":"function","z":"3cd97708.f90178","name":"LCD表示","func":" let lcdData = [\n    [0x00,0x38],\n    [0x00,0x39],\n    [0x00,0x14],\n    [0x00,0x73],\n    [0x00,0x56],\n    [0x00,0x6c],\n    [0x00,0x38],\n    [0x00,0x01],\n    [0x00,0x0c],\n    [0x00,0xc0],\n    ];\nlet outputMsgs = [];\n\nconst LcdI2Caddr = 0x3e;\nlet i;\n\nfor(i=0;i<msg.payload.length;i++) {\n    lcdData.push( [0x40, msg.payload[i] ] );\n}\n\nfor(i = 0;i<lcdData.length;i++) {\n    outputMsgs.push({\"payload\":lcdData[i][1],\"command\":lcdData[i][0],\"address\":LcdI2Caddr});\n} \n\nreturn  [outputMsgs];","outputs":1,"noerr":0,"x":429,"y":1047,"wires":[["c520529.88c45b"]]},{"id":"49091682.df7908","type":"inject","z":"3cd97708.f90178","name":"","topic":"","payload":"","payloadType":"date","repeat":"","crontab":"","once":false,"x":126,"y":1047,"wires":[["1bb76323.a2cccd"]]},{"id":"b5b5d04e.b0892","type":"debug","z":"3cd97708.f90178","name":"","active":true,"console":"false","complete":"false","x":738,"y":1093,"wires":[]},{"id":"82380ed9.41793","type":"i2c out","z":"3cd97708.f90178","name":"","address":"","command":"","payload":"payload","payloadType":"msg","count":"1","x":727,"y":1047,"wires":[]},{"id":"1bb76323.a2cccd","type":"template","z":"3cd97708.f90178","name":"メッセージ","field":"payload","fieldType":"msg","format":"text","syntax":"plain","template":"test message","output":"str","x":277,"y":1047,"wires":[["b9779166.036e5"]]},{"id":"c520529.88c45b","type":"delay","z":"3cd97708.f90178","name":"","pauseType":"delay","timeout":"100","timeoutUnits":"milliseconds","rate":"1","nbRateUnits":"1","rateUnits":"second","randomFirst":"1","randomLast":"5","randomUnits":"seconds","drop":false,"x":577,"y":1047,"wires":[["82380ed9.41793","b5b5d04e.b0892"]]}]
コメント