南無ちゃんのブログ    https://namva.net

天下御免の夢中人=南無ちゃんは、今日も元気で明るく楽しく逞しく生きてゆく。

気象観測装置の改良(その2)

2022-02-23 13:08:05 | プログラミング

 今日は風が弱くて日差しが出てきましたが、まだ風が冷たいので、無線小屋で過ごしています。目標としていた気温などのグラフ表示ができるようになりました。

 やっぱりグラフ表示は良いですね~!気温などの変化が一目でわかります。時刻の表示を日本時間に合わせるようにしましたので、よりリアルに分かりやすくなりました。今朝の最低気温は-8.3℃で、それから昼前に5.4℃まで上昇しましたが、晴れたり曇ったりして小康状態になりました。

 Javascriptの勉強をしているものの、全体のプログラミング量は、他の言語による記述の方が多いように感じます。グラフの表示には、AjaxとGoogle.chartsを使いました。全体の表示やボタンの配置・表示などはHTMLですし、データをMySQLから読み出す部分はPHPです。

 日付・時刻表示を日本時間に合わせるにあたり、知識不足のためちょっと苦労しました。MySQLの日付・時刻(DateTime型)は64ビットで、UTCの値だけを保持するようです。タイムゾーンをAsia/Tokyoに合わせようとしましたが上手くいきませんでした。この原因は、ラズパイZEROにインストールしたOSがGUIなしをLiteバージョンだったからかもしれません。仕方がないので、MySQLのコネクションを開いた後、SELECT文でデータクエリーする前に、次のような文を一度だけ実行することで、日本時間でデータを読み出すことができるようになりました。

   set time_zone = '+9:00';

 それにしても、Webアプリケーション(ブラウザで起動するアプリ)を作ろうとすると、色んな言語を使う必要があります。HTML, PHP, Javascript, MySQLを使っていますが、CやC++, VB.NET, Java, Pythonなどは、あまり出番が無いように感じます。

 日常的に、それらに接していれば慣れるのかもしれませんが、素人にとっては頭の中が大混乱します。これらの言語はインタープリタなので、デバッグ方法にも慣れが必要です。期待した通りに表示されない時、何が悪いのか探すのに一苦労しました。その点、IDT(統合開発環境)が整っているVB.NET, C++, Pythonなどを使った通常のパソコンアプリの開発の方が楽だと感じます。

 でも、Webアプリケーションの場合、サーバーにインストールしてしまえば、パソコンやスマホなどの各種デバイスから利用できるのが魅力です。しかし、個人で利用する場合、サーバーと端末の両方が必要であり、かつ、ネットワークが必要なので面倒とも言えます。

 IOT(Internet Of Thing)時代の今、今回のアプリのように、温度センサーの傍にLAMPサーバー(Linux, Apache, MySQL, PHP)があるような場合、そのデータを利用するアプリは、やはりWebアプリケーションとした方が便利ですね。サーバーと言っても、ハードウェアの価格は2000円前後ですし、ソフトウェアはすべてフリーです。

 

コメント

気象観測装置の改良(その1)

2022-02-22 13:44:52 | プログラミング

 今日も雪がチラつく寒い一日です。もう何日も無線小屋に籠ってパソコンをパチパチしているので、お尻が痛くなってきました。早く暖かくなって欲しいなぁ~!

 1月21日のブログで紹介している気象観測装置のデータ表示の仕方を改良しました。

 直近12時間のデータ(15分毎に測定しているので、48件分)をデータベースから読み出して、①最高気温と②最低気温を計算し、③気圧の表示を海面気圧と呼ばれる標高を補正した値に変換して、これらを表示するようにしました。

 気圧を海面気圧に補正するためには、べき乗の計算を含む公式があるので、その公式に従って計算しました。そのために、PHPの記述方法について、少し勉強しました。

 せっかく、ダイナミックに変化するデータソースがあるので、もっとスマートな表現をしたいと思い始めました。表にデータを出すだけの表現ではつまらないなぁと感じているわけです。例えば、温度の変化をグラフに表示するとか、インタラクティブな方法でデータを抽出して表示するとか・・・です。

 そのためには、HTMLとPHPだけでは限界がありそうなので、Javascriptを勉強し始めています。勉強し始めて初めて知ったのですが、JavaとJavascriptは似ても似つかない別物なんだそうです。Javaなら少し齧ったことがありますが、う~ん・・・残念!

 何でも、最近のプログラマーの間では、Javascriptが人気No.1だそうです。基本的に、Javascriptはブラウザ(端末)側で演算・実行するプログラムなので、「どの様にデータを見せるか」ということが主題ですが、そいうことが、それだけ、世の中からIT技術者に要求されているということなんでしょうね。私の携わってきたコンピュータハードウェアとはかなり遠い世界ですが、頑張ってチャレンジしてみたいと思います。

コメント

TRX-305の信号をスペアナで確認

2022-02-21 12:34:32 | アマチュア無線

 TRX-305用のコントロールパネルが出来上がったので、スペアナを使って、各バンドの出力信号を確認しました。今のところ475kHz帯でのみ使用する予定ですが、比較のために他のバンドも測定したところ、次のようになりました。

  7042kHz 1.61dBm, 3569kHz 0.76dBm, 475kHz -10.35dBm, 136kHz -24.09dBm

 TRX-305のモードをUSBにして、1kHzのトーン信号で変調し、送信パワー100%にしました。スペアナ側には10dBのアッテネータを接続しています。周波数帯によって、出力レベルが異なり、周波数が低いほど信号レベルが小さいことが分かりました。

 475kHzにおけるスペアナの画像は次の通りです。

 近傍にスパイクがありますが、-70dBc以下ですので問題無いと思います。シミュレータで再度確認しましたが、以前設計したアンプの入力レベルとして十分でした。

 余談ですが、TRX-305ではFM放送帯では送信できませんでした。

コメント

Qt5によるラジオの製作

2022-02-20 13:24:15 | プログラミング

 Qt5を使って、CQ出版社から購入したTRX-305というSDRボードを操作するための、コントロールパネルを作っています。中学生の頃、「ラジオの製作」という雑誌を買ったり立ち読みしたりしていた頃のことを思い出しました。ラジオの製作とは言うものの、半田付けや板金加工は不要です。コントロールパネルは、ラズパイの画面上にあります。パソコンからVNCを使ってWiFi経由でラズパイにリモートアクセスしています。

 Qt5では、ラジオや無線機によくある「ダイヤル・つまみ」が利用できるので、ラジオらしいパネルになりました。

 パネルの右側のテキストボックスやボタンはデバッグ用で、手動でコマンドを打ち込んだり、TRX-305からのレスポンスを確認するためのものです。デバッグが終了したら、パネル寸法のうちX方向のサイズを小さくして隠してしまうつもりです。その後で必要になった時には、パネルをリサイズすれば使えるので大丈夫です。

 長波、中波、短波およびFM放送が受信できるようにしました。送信機能は、ダミーロードを接続して、これからチェックするところです。

 動作環境はラズパイ4Bです。ラズパイ4Bに電源を供給しているACアダプターのスイッチングノイズらしきものが混入しているようで、中波のAM放送の受信時には、ラジオ少年だった中学生時代に体験したブーンというハム音が出てきます。パソコンでTRX-305をコントロールするアプリを使った時にはノイズは出ません。ラズパイとTRX-305を繋いでいるUSBケーブルを外すと止まるので、ラズパイまたはラズパイの電源からノイズが出ているのは間違いなさそうです。USBアイソレータを接続しても止まりませんでした。FM放送や短波帯のSSB受信時には気になりません。長波の受信時にも悪影響を与える可能性があるので、別の電源を用意した方が良いかもしれません。

 

コメント

農薬の在庫調査と予約注文

2022-02-19 16:54:46 | 農業日誌

 今日は雪やみぞれの降る寒い一日でした。農協に農薬の予約注文をするためには、先ず、在庫調べです。保管庫から農薬を出して、在庫数を調べました。

 基本的には、農薬は年度内に使い切る量を購入するように努めていますが、最小購入単位と必要量との兼ね合いで、どうしても残量が出てしまい、それが在庫となります。それに、農業普及センターが推奨する農薬の種類は、毎年少しづつ変化するので使わなくなった農薬もでてきます。

 農薬の在庫量を調査後、必要数を10アール当たりの散布量から算出して、不足分を注文書に記入しました。予約注文の締め切りは22日なので、月曜日にでも持っ行くつもりです。

 

 

コメント