【RaspberryPi】1ボードPCを語るスレ17【Pine64】
■ このスレッドは過去ログ倉庫に格納されています
>>586
この板に多いマイコン使いはソフト開発できるだろうが、
PC(Piも実質PC)を使う奴の多くはソフト開発できない・しないだろ。
PiもPC同様に配布しているソフトをインストールして使う、落ちているコードを
コピペして使うが普通。
だから、5chに複数あるPiスレでは具体的なコードの話はほとんど出ない。 bm*280はlinuxならkernel driverがあるから、別に読み取りソフトはいらんよ。raspbianなら/boot/overlays/READMEを見てみ。 https://pypi.org/project/RPi.bme280/
これならどう?
pipで入れられるし、Ubuntu Server 20.04でも使えた >>587
BME280は扱うのが結構、難しいんだよな
ADT7410なら誰でも簡単に扱えるんだが >>590
よく見たらmaintained no!になってるね >>589
Raspberry Pi OS以外のLinuxでの使い方わかる? Ubuntu Server 20.04で/lib/modulesを検索してみるとこれだけ出てくるね
/lib/modules/5.4.0-1013-raspi/kernel/drivers/iio/pressure/bmp280.ko
/lib/modules/5.4.0-1013-raspi/kernel/drivers/iio/pressure/bmp280-spi.ko
/lib/modules/5.4.0-1013-raspi/kernel/drivers/iio/pressure/bmp280-i2c.ko
LinuxのソースコードはこれでBME280もこれらのモジュールで使えそう
https://github.com/torvalds/linux/blob/master/drivers/iio/pressure/bmp280-i2c.c >>587
単なる小型で安いおもちゃLinuxとしてしか使ってない人多いからね。でもそれなら余ったノートPCにLinux入れた方がいいと思うんだけどなあ。
自分はPC LinuxからNuttXを経てRaspberry Piに移ったから
UNIX的な書き方も組込的な書き方も一応どっちも出来ると思ってるけど。 Raspberry Pi 4でUbuntu Server 20.04で
bmp280.ko、bmp280-i2c.koでBME280を使う方法がわかった
/etc/modulesに
bmp280
bmp280-i2c
を追加して再起動
下記を実行
sudo sh -c "echo \"bme280 0x76\" > /sys/bus/i2c/devices/i2c-1/new_device"
すると/sys/bus/i2c/devices/に1-0076が作成される
各センサーのオーバーサンプリングはを1に設定
sudo sh -c "echo 1 > /sys/bus/i2c/devices/1-0076/iio\:device0/in_pressure_oversampling_ratio"
sudo sh -c "echo 1 > /sys/bus/i2c/devices/1-0076/iio\:device0/in_temp_oversampling_ratio"
sudo sh -c "echo 1 > /sys/bus/i2c/devices/1-0076/iio\:device0/in_humidityrelative_oversampling_ratio"
データ取得
cat /sys/bus/i2c/devices/1-0076/iio\:device0/in_temp_input
cat /sys/bus/i2c/devices/1-0076/iio\:device0/in_pressure_input
cat /sys/bus/i2c/devices/1-0076/iio\:device0/in_humidityrelative_input
温度は1000倍の整数値
気圧の単位は10Paの浮動小数点数の値
湿度は1000倍の整数値
/lib/modulesの下のどこかにbmp280.ko、bmp280-i2c.koがあれば
多少、パス名やデバイス名などが違うかもしれませんが
Raspberry Pi以外のUbuntuでも同様の方法でできると思います pythonだとこんな感じ
import time
f01 = open('/sys/bus/i2c/devices/1-0076/iio:device0/in_temp_input')
temperature = float(f01.read()) / 1000.0
f01.close
f01 = open('/sys/bus/i2c/devices/1-0076/iio:device0/in_pressure_input')
pressure = float(f01.read()) * 10.0
f01.close
f01 = open('/sys/bus/i2c/devices/1-0076/iio:device0/in_humidityrelative_input')
humidity = float(f01.read()) / 1000.0
f01.close
print("temperature : {0:0.3f} ℃".format(temperature))
print("pressure : {0:0.2f} hPa".format(pressure))
print("humidity : {0:0.2f} %".format(humidity)) 0x76というのはBME280のI2Cアドレスです
自分のものに合わせて変更してください ベイビーガイジや口だけ番長よりよっぽどスレに相応しい >>598
超ありがとう
早速、使わさせて頂きます >>601
でも、スレの話は、スレにたむろしている多数の連中に相応しいものがメインになる
でも、このスレでコードが出るって珍しいよな
ID:EdgGPfI5が頑張ったおかげだな Raspberry Pi 4のUbuntu Server 20.04でI2Cを有効にする方法貼っておきますね
https://pastebin.com/DQThNpiC ああっすみません。スレ内を検索しようと思ったら書き込んじゃった 専用ケースか中・大型ヒートシンクの取り付け用パーツが出たら買いかも 用途によるとしか言いようがないだろう
個人的には速いwifiよりUSB3.0の方がうれしいからneo3でいいやと思う systemdを用いたプログラムの自動起動
https://qiita.com/tkato/items/6a227e7c2c2bde19521c
ここのサイト参考にすればsystemd使った自動起動を簡単に実現できるよ
>>597を自動起動して簡単にBME280が起動時に自動で使えるようにできる
systemdのスクリプトの3行目の
After=local-fs.target
のところを
After=local-fs.target systemd-modules-load.target
にする
あとは下の内容を適当な名前でスクリプトを作成して、
autoexec.shの中でそのスクリプトを起動するだけ
ついでにspiとgpiomemのグループの所有者とアクセス権も変更するようにした
/bin/sh -c "echo \"bme280 0x76\" > /sys/bus/i2c/devices/i2c-1/new_device"
/bin/sh -c "echo 1 > /sys/bus/i2c/devices/1-0076/iio\:device0/in_pressure_oversampling_ratio"
/bin/sh -c "echo 1 > /sys/bus/i2c/devices/1-0076/iio\:device0/in_temp_oversampling_ratio"
/bin/sh -c "echo 1 > /sys/bus/i2c/devices/1-0076/iio\:device0/in_humidityrelative_oversampling_ratio"
/usr/bin/chgrp spi /dev/spidev0.0
/usr/bin/chmod g+rw /dev/spidev0.0
/usr/bin/chgrp spi /dev/spidev0.1
/usr/bin/chmod g+rw /dev/spidev0.1
/usr/bin/chgrp gpio /dev/gpiomem
/usr/bin/chmod g+rw /dev/gpiomem
autoexec.shの中ではexecでスクリプトを起動してるけど
複数のスクリプトを実行するならexecではなくて
.(ピリオド)もしくはsourceや/bin/shで起動したほうがいい
例えばスクリプトの名前がhogehoge.shなら
. hogehoge.sh
や
source hogehoge.sh
や
/bin/sh hogehoge.sh
execだと一番最初のスクリプトしか実行されない >>611
そりゃexecは今のスクリプト(シェル)の動作をやめて指定されたコマンドに動作を引き継ぐコマンドだからね
プロセスの親子関係が入れ子にならないようにするためにわざと使うものだよ いまどき、ホゲホゲとか書いてるやつ、恥ずかしいと思えよ
数十年前の感覚だろ、そのダミーネーミングセンス
ホゲーw 今から614がイケてるダミーネームを披露してくれるらしいよ 日本のプログラマー系の人たちが、サンプルコードの変数名などに好んで使う文字列。
同様の言葉に「fuga」、「piyo」、「hage」などがある。英語圏では「foo」、「bar」、「baz」が有名。
日本人プログラマの下品さが言葉の選び方に現れている好例と言える。
ホゲw
フガw
ピヨw
ハゲw 本人的にはちょっと拗ねて斜に構えてみせたつもりなんだろな
色々痛いが
ホゲホゲw After=local-fs.target systemd-modules-load.target
ではなくて
After=local-fs.target systemd-modules-load.service
もしくは
After=local-fs.target sysinit.target
でした hogeは真面目な現場でジョークとして稀に見たことあるがピヨ禿は見たことないな。
こんなの真面目に議論するほどの話でもないだろう
所で>>616の住んでる国や使ってる言語だとどんな単語を使うんだ?
fuckとか変数名使うのか? >>616
じつは、どの変数名も好んで使ってるのは一人だけで、それぞれ数人程度の借用がみられるだけという可能性?
たくさんの本を書いてる人がひとつ使うだけでも多用されてるように感じちゃうからね
たくさんの本を書いてる人、たくさんいるでしょ raspberrypiのノートPCでないかな?
赤白でプラスチッキーなちょっと安っぽいけど可愛いデザインなら売れる >>617
>本人的にはちょっと拗ねて斜に構えてみせたつもりなんだろな
ほんとこれな >>620
>fuckとか変数名使うのか?
その手に下品系単語で下卑た感じ(拗ねて世慣れた感じ)を無理に出そうとするような子供っぽいプラグラマはいないね
普通に仕事に誇り持ってるのが多いので、コードも品格がある
使うとしたら、英語圏にあわせて、foo, bar かな。
ご当地的には、wuming, moming とかも見かける BME280のコードの話は一人の人が頑張っていたみたいだが、一方
複数の奴で盛り上がるプログラミング関係の話題が
hogeがどーたらってさすがこのスレだよな。
俺らの実力で出来るプログラミングの話はこんなもんだからしょうがないよな >>627
hogeなどは日本語の「ホゲ」のローマ字表記であり元々は英語ではないだろう。
英語としてみたら汚い言葉のように見えるのだろうが、日本語圏での意味は
違うと思う。
ソフトウエアの世界はハッカー文化があるので日本語圏でもハッカー文化の
影響は少なからずあるといえる。
アスキーアートもそのひとつだが、5chのような掲示板な便所の落書きSNS
コミュニティーに君達が進んで参加しているのに、アスキーアートを見て
「汚い」と思うのもかなり勘違い場違いだろう。文化の違いだと思う。
日本ではIT関係の世界では誇りを持って仕事をするという人は少ない。それは
業界の問題でもあり商習慣の違いでもあり、マイクロソフトやGoogleとの違い
でもあるので同じと思うのがそもそも間違いだ。
誇りを持って仕事をするとかコードに品格があるとか、そういう話は日本国内
ではありえないと思う。
君は英語を公用語として日常会話で用いる世界に今住んでいるのだろうが、
ソースコードを見て品格があるとかIT系の仕事を誇りを持って仕事している
人たちだと思うなら日本に帰ってこないほうが良いよ。 なんか話が噛み合ってない気がするのは俺だけっすか
いずれにせよよそでやってね >>628,629
BME280そのものがRaspiに標準搭載していないのだから汎用的でないだろう。
一人しか参加しない理由は実物を所有している人でないと開発には参加できないからだろう。
センサー類を扱う人は少数派だということだと思う。
あとI2Cデバイスはカーネルモジュールよりもソフトウエア制御で直接I2C制御する事が多いし。 >>631
>いずれにせよよそでやってね
いやいや、Piユーザースレは雑談スレで雑談は超ウェルカム
雑談なら>>631のようなすごく気合の入った長文書き込みも出てくる >>632
そもそもがスイッチサイエンスが書いたサンプルにケチが付いて
他のライブラリがとAdafruitのライブラリを提示したらDEPRECATEDになってると言われ
そうしたら>>589でBME280はカーネルドライバがあるという発言で
カーネルドライバでの使い方の流れになった
BME280は扱いがいろいろ面倒で
スイッチサイエンスでさえ間違えるくらいだからここのやつらが自分で書いたら
もう、ボロボロだろうな
PythonでやるならPimoroniのが上に提示されてるけど
Adafuitが素のPythonでサポートしなくなって
自前のMicroPythonの亜種のCircuitPythonでサポートするようになってるからこんなことになってる ちなみに温度、湿度、気圧センサーのBME280と12bit PWMのPCA9685は
今月発売のトランジスタ技術の遠隔操作ロボットに出てくるくらいメジャーなもの
どちらも記事ではAdafruitのCircuitPython用のライブラリ使ってた
ネットのArduinoの作例でもよく見るIC
PCA9685は扱うのはそれほど難しくないがBME280は自前で書くのは大変 https://github.com/adafruit/Adafruit_CircuitPython_BME280/
と思ったがpip3で入れればCircuitPython用のライブラリがRaspberry Piで使えるようだなw
素のPythonでは使えないと思ってた、先入観って怖いな 今月発売のトランジスタ技術の記事を良く見てみるとPCA9685では
こっちの古いほうの使ってるね(一応、DEPRECATEDにはなってない)
https://github.com/adafruit/Adafruit_Python_PCA9685
こっちのCircuitPython用のもRaspberry Piで使えるみたいで
こっちの方が最新のライブラリみたいだが何か問題があったのかな?
https://github.com/adafruit/Adafruit_CircuitPython_PCA9685 BME280 のライブラリの多くが Reserved bit を破壊してるね
たぶん実害は無いだろうけど >>630
>hogeなどは日本語の「ホゲ」のローマ字表記であり元々は英語ではないだろう。
だから、汚らしいと言われている
ホゲホゲ〜 bme280のカーネルドライバとか、ドライバの勉強になってまさにraspberrypiって感じの素材だよね
SPIもユーザーモードでレジスタ叩くのに速度的な限界を感じたら
結局カーネルドライバモジュール書かないとダメだしね
ユーザーモードだと、spidevは遅すぎて使い物にならない。pigpioはましだね。
ドライバ、デバイスノード、sysfsわかるとLinuxめっちゃ面白くなるとおもうんだけどなあ。 Linuxが走るSBCは要らんかな…Linux自体が重すぎる linuxが走らんようなのはSBCとは呼ばんのじゃないか >>647
んなことないだろ。Spresenseとかは確実にSBCでしょ STM32H7搭載らしいゲームウォッチはSBCか否か 明確な規定があるわけじゃないからどう呼ぼうがその人の自由だが
シングルボードコンピュータという用語が出てきてワンボードマイコンと区別されるようになったのはBeagleBoard以降じゃないかと思う ぶっちゃけLinux入りシングルボードコンピュータじゃないと作れない作例って滅多に見ない
ライズパイでやってみたの多くはArudinoやDiscovery kit等のマイコン評価ボードでも作れるのばかり
しかもそっちの方が省電力 >>653
ラズパイでハードルが下がってより多くの人が作れるようになったんなら意義のあることじゃないかな
ケチつけるのは簡単だけど >>654
本当に“作っている”作例自体少なくなくね?主体性を持って開発していると言ってもいい
ググると“コピー”した作例がずらずら出てくるし、下手すりゃ出典すら書いていない不届きなサイトもちらほら
もちろんオリジナリティの高い作例もあるけど滅多にないし見つけられるかも運次第 >>657
論点ずらずならはじめから噛みつかなきゃいいのにw 簡単なこと自体は良いことだがその結果向上心がある人等の足を引っ張るような
環境になっている状況が良いことだとは思わない
日本の技術や生産性の低下にも繋がっていると思う ここは電子工作偏差値35以下、かつLinux偏差値35以下のおじさんのためのスレで
偏差値が40以上ある奴がほとんど来ないから
雑談に必死にスレになってしまうよな。
偏差値が40以上の奴が普通に来るなら、回路やカーネルドライバモジュール
とかの話で盛り上がるんだろうが >>661
偏差値って何かわかってない書き込みだな。
頭悪そうに見えるから知らない単語は使わないほうが良いよ。 回路やカーネルドライバモジュール ってのもがんばって考えました感があるな まあ、知識ゼロの人は多くて知識多いほど人数少なくなる分布だから偏差値40以下とか居るわけないよな
知識マイナスってありうるのかね? ラズパイのせいで業務が圧迫されてる業者の社員が
ことあるごとにケチつけてるのかもな
もしくは既にリストラされた社員とか
あんなSBCをあの価格で出されたらやっていけなくなるところもあるんじゃないの? 子供にはムリだな
小坊厨坊の子供にとってはAndroidスマホ・タブのほうが身近だろ >知識ゼロの人は多くて知識多いほど人数少なくなる分布だから偏差値40以下とか居るわけないよな
単純二値指向だとこうなるんだな。
知識ゼロの人も少ないんだよ。 >>670
この板に来るような奴が対象ではなく
現存のすべての人(世界中の人)とかを対象に語っているととらえているから
知識ゼロの人は多くて知識多いほど人数少なくなる分布となる。
これだとPiと言う1ボードPCがあるという知識を有する人ですら超少数になる 知識マイナス(間違った知識の人)は考慮しなくていいの? >>673
俺の意見ではなく、
>>666は>>671のように対象をとらえて語っているということ
一番最初に、>>666は を入れなかったのがまずかった このスレでの「作例」とはどういう意味なん?
作例はお手本の意味、強いて言うならメーカーが掲載するリファレンスデザイン。
対してユーザがブログに載せているのは作例の対義としてあえて言うなら実例。
と思うんだがなんか違うみたいだし。
そう言えばカメラを趣味とする人達も良く作例と言うね。 >作例はお手本の意味、強いて言うならメーカーが掲載するリファレンスデザイン。
という自分定義から離れるのが良いのでは。
誰かの言葉の使い方に疑問が生じたとき、自分定義で判断する前に、いくつかの辞書を見てみれば
たいていの言葉に複数の意味があるのがわかるはず。
それらにあてはめて矛盾が少なくなる解釈ができる意味が、その言葉を使った人の、その文脈での
使い方の可能性が高いと考えればいいのに。 >>644
AllWinnerっていうだけで…(察し GoPiGo3っていうロボットに、線虫のコネクトームエンジン(Pythonコード)を実装したいんだが、
やり方がわからない お前らの会話見てると全部バラバラだからここの住人の標準偏差は広く大きいと思うぞ 時間がたっているが
もともとの意味じゃないのかもしれないが作例って製作例と言う意味だと思う
こういうものを使ってこんな風にやってみたらこうなったと見せてるだけのもの
カメラやプラモデルなどでよく目にする >>678
お金持ち用ならこんなのあるよ
Linux PCがRISC-Vベースで作れる、SiFiveが開発ボードを発表
https://xtech.nikkei.com/atcl/nxt/news/18/09109/ メタルケース高い
R2Sのメタルケースより冷えるよとアピールはしているが ■ このスレッドは過去ログ倉庫に格納されています