Raspberry Pi 3 & Python 開発ブログ☆彡

Raspberry Pi 3の使い方、設定をわかりやすく解説。Raspberry Pi3 Model B(Element14版)、Raspbianを使用して開発中。

【スポンサーリンク】

割り込みの使い方(その2)

以前、割り込みでコールバック関数を使う方法を紹介しました。今回は定期的に実行したい処理があり、さらに割り込みにも対応したいときにシンプルに書けるコードを紹介したいと思います。 割り込みの実装方法 import RPi.GPIO as GPIOGPIO.setmode(GPIO.BCM)…

割り込み(コールバック関数)の使い方(その1)

今日はRaspberry Piで割り込み(コールバック関数)を使う方法を紹介します。Raspberry PiにはGPIOピンの立ち上がり、立ち下がりエッジを検出した時に、指定の関数(コールバック関数)を呼び出すしくみがあります。これにより、割り込みと同じようにイベント待…

Raspberry Pi 3 & Python 開発ブログ

こんにちは~。P.Hです。サイトを立ち上げて1年以上が経ちました。自分の備忘録として作ったサイトですが、アクセス数が10万を超えています。正直、びっくりしています。Raspberry Piユーザーの皆様の助けに少しでもなれていれば、とてもうれしく思います。…

音声認識をする方法(julius)

今回は、juliusというモジュールで音声認識を行てみたいと思います。Raspberry Piではマイク端子がないので、USB接続のマイクが必要になります。 オーディオモジュールの優先順位の確認 まず、usbオーディオアダプタ(snd_usb_audio)の優先順位を確認します。…

音声合成をする方法(Open JTalk)

今回は、Raspberry Piで音声合成を行いたいと思います。Open JTalkというモジュールを使い、Raspberry Piがしゃべるようにします。音声の出力先はイヤホン端子を使用しますので、イヤホンかスピーカーをイヤホン端子に接続してください。それでは説明してい…

Pythonプログラムを起動時に実行する方法(Systemd)

今回はpythonプログラムをRaspberry Pi起動時に自動実行する方法を紹介したいと思います。Raspberry Pi起動から常時動かすプログラムは多いと思います。そういう場合にとても便利な機能です。 serviceファイルの作成 SystemdというLinuxの起動処理を管理する…

合理的すぎるとうまくいかない?

最近、Raspberry Piも少しずつ使えるようになってきたので、今日は久々にコーヒーブレークで私の思いを記載しようと思います。私は自分でも合理主義だと思っています。合理的な判断であれば他人も納得すると。自分の感情を無にして、合理的に判断すれば間違…

USBのデバイス名を固定する方法

USBデバイスを複数挿入すると/dev/ttyUSB0、/dev/ttyUSB1、/dev/ttyUSB2...と認識されますが、/dev/ttyUSB0に割り当てられていたデバイスが再起動後、/dev/ttyUSB1に割り当てられてしまうということがあります。 割り当てが変わってしまうと、pythonコードで…

scikit-learnの使い方

前回はTensorFlowで機械学習による分類の手法を紹介しました。今回は、scikit-learnで未来を予測する回帰のアルゴリズムを紹介したいと思います。(scikit-learnでも分類のアルゴリズムを使うことができます。) 今回紹介する回帰のコードの概要 連続した過去3…

TensorFlowの使い方

今回はTensorFlowの使い方を紹介したいと思います。TensorFlowの公式ページにトライアルとして記載されている、MNISTデータを使用した機械学習について解説したいと思います。今回はRaspberry Piではなく、WindowsにPythonとTensorFlowを入れて動作させます…

Watchdog Timer(ウォッチドッグタイマー)の使い方

本日はWatchdog Timer(ウォッチドッグタイマー)の使い方を紹介したいと思います。マイコンでは当たり前の機能ですが、なんとRaspberry Piでも同じことができます。Raspberry Piが予期せずフリーズしても自動で再起動してくれるので、長期に動かく場合は設定…

自動ログインする方法

Raspberry Piを開発等で使い始めると、TeraTerm等で何度もSSH接続するようになるのではないでしょうか。毎回、ユーザーIDとパスワードを入れるのはかなり面倒ですね。パスワードを無くして、自動ログインにしてもよいのですが、何となくセキュリティ的に不安…

無線アクセスポイントとして使用する方法

今回はRaspberry Piを無線アクセスポイントとして使用する方法を紹介します。Raspberry Piのオンボードの無線LANを使用しますので、無線アクセスポイントの設定をしておけば、ノートPC(無線LAN搭載)だけで、Raspberry Piをコントロールすることができるよう…

シェルコマンドを実行する方法

今回はPythonコードでシェルコマンドを実行する方法を紹介したいと思います。ターミナルで実行しているコマンドをそのままPythonコードで実行したい、という時に、これから紹介するコードが使えます。 モジュールのインストール まず、下記の2つのモジュール…

USB挿入でプログラムを実行する方法

今回はUSBメモリ挿入でプログラムを実行する方法を紹介したいと思います。udevという仕組みを使用するとUSBメモリが挿入された時にシェルスクリプトやPythonコードを実行させることができます。 USBメモリの挿入をプログラム実行のスイッチとして使用できる…

SwampDragonの使い方 (その4)

前回まででデータベースの値を変更するとリアルタイムでWebページの値が更新されるようにすることができました。今回は、pythonからdjangoシステムにアクセスして、データベースに値を保存する方法を紹介します。 それではpythonコードを紹介します。 swampd…

SwampDragonの使い方 (その3)

前回までで、Webページにテーブルを表示するところまでできました。あと少しで、データベースの値を変更するとリアルタイムでWebページのテーブルの値が更新されるようになります。それではさっそくdjangoシステムから、データベースに値を登録してみましょ…

SwampDragonの使い方 (その2)

前回でswampdragonのプロジェクトの作成ができましたので、今回は実際にWebアプリを作って行きたいと思います。djangoと同じ部分が多いので理解しやすいと思います。 "Djangoの使い方 (その2)"のページと同じコードの場合、本ページでは説明を省略しています…

SwampDragonの使い方 (その1)

前回、djangoフレームワークの基本的な使い方を紹介しました。簡単にデータベースと紐づいたWebアプリを作ることができました。今回はもう少し踏み込んで、Swampdrgonというモジュールを使い、リアルタイムでWebページのデータを更新する方法を紹介します。d…

Djangoの使い方 (その3)

前回までで、Webページにテーブルを表示するところまでできました。あと少しで、models.pyで作成したデータ(データベースのデータ)をWebページのテーブルに表示できるようになります。それではさっそくdjangoシステムから、データベースに値を登録してみまし…

Djangoの使い方 (その2)

前回でプロジェクトの作成ができましたので、今回は実際にコードを実装してWebアプリを作成して行きたいと思います。おおまかに説明すると以下のような流れで作成します。 1. データのモデル作成 ⇒ models.pyの編集 2. データモデルからWeb表示用のデータ作…

Djangoの使い方 (その1)

今回はpythonのWebアプリのフレームワークの使い方を紹介します。とても簡単に早くWebアプリを作れますので、重宝します。少し長くなりますが、長いだけで難しくありませんので、読み進めて見てください。IoTしたい方は必見です。 作成するWebアプリの内容、…

WebSocket通信の仕方(Webページの値更新編)

今回はWebSocketを使用してWebページの値をリアルタイムで更新する方法を紹介します。htmlのjavascriptについては素人なので、Webページの表示はきれいではないですが、ご容赦ください(bootstrap等を使用すると見た目も簡単にきれいになります)。それではコ…

WebSocket通信の仕方(クライアント側)

前回からの続きです。今回はWebSocketのクライアント側のコードを紹介します。 モジュールのインストール 下記ページのモジュールを使います。インストールは、pipでコマンドを実行します。 https://github.com/Pithikos/python-websocket-server sudo pip3 …

WebSocket通信の仕方(サーバー側)

今回はPythonでWebSocket通信をする方法を紹介したいと思います。WebSocketとはWebサーバーとWebブラウザで双方向通信するため規格です。WebSocket通信を使うと、Webページの値(センサー取得値等)をリアルタイムで更新することができます。それではコードを…

Python開発環境:Eclipseを使用する方法(pydevd:リモートデバック編)

前回、前々回に引き続きRaspberry PiのPython開発環境でEclipseを使用する方法を紹介します。今回はpydevdを使用したWIndowsからのリモートデバックの仕方について記載します。 pydevdのインストール Eclipseでリモートデバックするためには、Pythonでpydevd…

Python開発環境:Eclipseを使用する方法(Remote System Explorer編)

今回は、EclipseでRemote System Explorerというパースペクティブを使う方法を紹介します。この環境を使うと、Raspberry Pi上に簡単にworkspaceを作ることができ、またpydev環境でコードを実装することができます。 Remote System Explorerパースペクティブ…

Python開発環境:Eclipseを使用する方法(Pydev編)

今回はWindowsでEclipseを使用してPython開発を行う方法を紹介したいと思います。以前、Pythonの開発環境にVisual Studioを使用する方法を紹介しましたが、Eclipseも負けてはいません。完全無料というのがやはりとてもうれしいです。それでは、Eclipseを使用…

データベース(MySQL)の使い方 : Pythonコード編

今回は、MySQLデータベースをPythonから操作する方法を紹介します。前回、前々回とMySQLについて説明をしてきましたが、今回で最後となります。 MySQLDBモジュールのインストール 下記のコマンドでpythonからMySQLデータベースを操作するモジュールをインス…

データベース(MySQL)の使い方 : MySQL Workbench編

前回、Raspberry PiにMySQLデータベースをインストールしました。MySQLデータベースの操作はWindowsからMySQL Workbenchというソフトを使うと操作できますので、その方法を紹介したいと思います。 MySQL Workbenchのインストール 下記のホームページからイン…