2017年9月26日火曜日

Raspberry Pi 3 で、HDMI 3.5inch LCDモニタ のタッチスクリーンを設定(ドライバー)してみる。

この記事の続きになります。

Amazonで購入した OSOYOO 3.5インチLCD のタッチスクリーンを設定(ドライバー)してみた。

Raspberry Pi(Linux OS装着)で3.5” タッチスクリーン(HDMI版)のドライバーをインストールする
このWebをみればできると思いますが、簡単にまとめてみます。

ドライバーを、ここからダウンロードする。

# ドライバーをダウンロードする。
wget http://osoyoo.com/driver/LCD_show_35hdmi.tar.gz

# 実行許可、解凍、移動、バックアップ、設定
sudo chmod 777 LCD_show_35hdmi.tar.gz
tar -xzvf LCD_show_35hdmi.tar.gz
cd LCD_show_35hdmi
sudo ./LCD_backup
sudo ./LCD35_720*480

数分後、再起動して完了です。
復元する場合は

# 復元する
sudo ./LCD_restore

私の場合、Raspberry Pi 3 をコンソールで使用している為、Python+Pygameで作動を確認しました。

#!/usr/bin/python
# coding: UTF-8

import os
import pygame
from pygame.locals import *

os.putenv('SDL_MOUSEDEV','/dev/input/event0')
dSize = (720,480)
pygame.init()
lcd = pygame.display.set_mode(dSize)

if __name__ == "__main__":
  while True:
    # Scan touchscreen events
    for event in pygame.event.get():
      if event.type == MOUSEMOTION:
        pos = pygame.mouse.get_pos()
        print pos
      if event.type == KEYDOWN:
        exit()

結果は、X方向の数値はでるものの、Y方向が0を表示したまま、タッチスクリーンは使い物になりませんでした。
もともと期待はしていませんでしたが残念です。

次は 液晶モニター3.5インチ を購入して試してみたい。

2017年9月22日金曜日

Raspberry Pi3で、コンソールからpygameを使用して画面表示に挑戦(その3)

この記事の続き。

単純に画像ファイルを表示するだけでは、変化が無く面白くないので、BeautifulSoupを使ってWebの画像とデータを表示するものを作成してみました。

Web scrapingは、個人利用か検索用に使用するに留めるべき、マナーがありますのでご利用は計画的に。

今回作成したコードは、Raspberryで個人的に閲覧できるようにしたものです。
ご指摘などございましたらコメント下さい。

#!/usr/bin/python
# coding: UTF-8

import pygame
import urllib2
from time import sleep
from bs4 import BeautifulSoup
from PIL import Image
import cStringIO

def getZaifxChart():
    # urlからhtmlを読み込み、BeautifulSoupで処理する。
    url = "http://zai.diamond.jp/fx?time=1d#charttop"
    html = urllib2.urlopen(url).read()
    soup  = BeautifulSoup(html,"html.parser")
    tagDiv = soup.find_all("div",class_="world-chart-main2 clearfix")

    listTitle  = []
    listNumber = []
    listUrl    = []
    listKey    = []
    # タイトル、URLを抽出する。
    for items in tagDiv:
        for item in items.find_all("div",class_="money-title2 clearfix"):
            for itemTitle in item.find_all("span",class_="chart-title"): # title
                listTitle.append(itemTitle.get_text().encode('utf_8'))
            for itemNumber in item.find_all("span",class_="chart-number"): # Number
                listNumber.append(itemNumber.get_text().split(" ")[0].encode('utf_8'))
        for item in items.find_all("img",class_="refresh-element"): # url,key
            listUrl.append(item["src"])
            listKey.append(item["alt"])

    # PIL で画像を処理する(拡大)。
    listChartUrl = []
    for i in range(0,len(listTitle)):
        # タイトル、価格、アドレス、キー
        listChartUrl.append([listTitle[i],listNumber[i],listUrl[i],listKey[i]])

    return listChartUrl

def main():
    #初期設定
    dSize = (720,480)
    colorBG   = (0,0,0)
    colorFont = (255,255,255)
    # pygame初期設定
    pygame.init()
    lcd = pygame.display.set_mode(dSize)
    lcd.fill(colorBG)
    txtfont = pygame.font.Font("font/tihayagothic.ttf",40)

    # チャートを表示する
    listChartUrl = getZaifxChart() # チャートのURLを取得
    for rows in listChartUrl:
        # urlから画像を読み込みPILでオープンする
        imageFile = cStringIO.StringIO(urllib2.urlopen(rows[2]).read())
        img = Image.open(imageFile).convert("RGB")
        x,y = img.size # サイズを取得する
        imgRe= img.resize((int(x*3.5),int(y*3.5)))
        # 画像データをpygameフォーマットに変換
        imggm = pygame.image.fromstring(imgRe.tobytes(),imgRe.size,imgRe.mode).convert()
        # テキストを書き出す
        fonttext  = txtfont.render(rows[0].decode('utf-8')+"  "+rows[1].decode('utf-8'),False,colorFont,colorBG)
        # 画面に画像を描画する
        lcd.fill(colorBG)
        lcd.blit(imggm,(70,10))
        lcd.blit(fonttext,(75,425))
        pygame.display.update()
        sleep(2)
main()

Blogger の Mobile でも、SyntaxHighlighter でソースコードをキレイに表示させてみた。

この記事、Blogger で、SyntaxHighlighterを使って、ソースコードをキレイに表示してみた。 の続編、Moblileでも同じようにソースコードが表示されるといいですよね。

設定は簡単です。

Bloggerの設定画面から

 ”テーマ” ---> ”モバイル テーマをカスタマイズ” をクリック
 

 ”テーマ>モバイル テーマの選択” から
 「● はい。モバイル端末でモバイル テーマを表示する。」をクリック

 ”テーマの選択” ---> ”カスタム” をクリックして 保存

以上で完了です。

スクリーンショットを貼り付けるとわかりやすいとは思いますが、今回も省略です。

ここに表示したいソースコードを貼り付ける

2017年9月20日水曜日

Raspberry Pi3で、コンソールからpygameを使用して画面表示に挑戦(その2)

Raspberry Pi3で、コンソールからpygameを使用して画面表示に挑戦(その1) の続きです。

まだ完成していませんが、ほぼいい感じにまとまり始めています。

色々試して行く中で、pygameは日本語フォントが使えず、そのままでは文字化けして表示できませんでした。 なので、こちらの記事を参考に試して見たいと思います。

試用してみるフォントとルールはこちらを参照

個人使用になるはずなので、ひとまず熟読する。
WindowsのMSゴシック、MS明朝などはコピーするとライセンス違反になりますので、技術的に難しくないですが使用しません。

コードはこんな感じ。
# 初期設定
pygame.init()
lcd = pygame.display.set_mode(dSize)
# フォントを設定する。
textfont = pygame.font.Font("ooooo.ttf",40) # 同じフォルダに入れておく。
textbuff = textfont.render("ここにテキストを入れる",False,colorFont,colorBG)
# 画面に画像を描画する
lcd.fill(colorBG)
lcd.blit(textbuff,(0,0))
pygame.display.update()

python の encode() と decode() の関係は?


python 2.7 を使っていると、 ”UnicodeDecodeError: 'ascii' codec can't decode” としかられます。 正直、よくわかっていませんでした。

なので、

encode()str文字列を返し、 decode()unicode文字列を返すと思っておけば良い。

と、覚えることとしました。

以上

2017年9月17日日曜日

Ubuntu 16.04 LTS にAtom1.21Beta をインストールしてみた。

Ubuntu 16.04 LTS にAtom1.21Beta をインストールしてみた。

ここここを参考にした。

ATOM beta Download .deb をダウンロードする。

コマンドでインストールする。
sudo apt install atom-amd64.deb


Python環境のパッケージをまとめてコマンドで導入する。
apm install atom-beauty autocomplete-paths autocomplete-python file-icons highlight-selected Hydrogen japanese-menu script


IDEをインストールしてみる。
apm install atom-ide-ui ide-python

IDEのセッティングは後日調べます。

IDEは、僕の環境ではクラッシュするようなので、しばらく様子見します。

Ubuntu 16.04 『デスクトップ』『音楽』などの日本語フォルダー名を英語表記にする

ubuntu14.04 インストール直後にやること

と同じように、コマンドを入力。


env LANGUAGE=C LC_MESSAGES=C xdg-user-dirs-gtk-update



適切に回答して完了。
スッキリした。

2017年9月15日金曜日

1万ページビュー達成!

どうやら2017年9月に入って、1万ページビュー達成!したようです。
現時点で、まだまだ記事45と少ないですが、ありがうございます。
一番最初(2012年5月)に投稿してから、5年4ヶ月(更新休止期間含)

次は記事100を目指して、コツコツいきます。

以上、気が付いたので記念に投稿。

いつの日か DIY したいもの。 PCB CNC PLOTTER


PCB CNC Plotter を作りたいと思っています。
この動画をみて刺激されました。
部品は少しづつ買い集めていますので、
まとまった時間ができ次第、このブログで
報告できればいいなぁ。。。




無理せず、コツコツと。。。

Blogger で、SyntaxHighlighterを使って、ソースコードをキレイに表示してみた。

Blogger で、SyntaxHighlighterを使って、ソースコードをキレイに表示してみた。

参考にしたWebはここ


http://alexgorbatchev.com/SyntaxHighlighter/manual/brushes/
http://alexgorbatchev.com/SyntaxHighlighter/manual/themes/

上記のリンクから、どれを使うか決めておく。

HTML編集画面から、</head>の直前に




上記コードを貼り付ける。


ブログ記事の編集では、HTML編集画面から下記コードを記述する。
 ここに表示したいソースコードを貼り付ける


以上、キレイに表示できました。感謝。感謝。

2017/09/18
httpsで読み込むと、FirefoxではSyntaxHighlighterが混在エラーになるので、httpでリンクすること

2017年9月8日金曜日

Ubuntu16.04 Pythonの下準備

Python関連の下準備をします。

・python-devのインストール
sudo apt-get install python-dev

・ipythonのインストール
sudo apt-get ipython

・Pythonバージョン確認
python -V


・pipのインストール
(apt-getでもインストールできるが、古い場合があるので)
wget https://bootstrap.pypa.io/get-pip.py
sudo python get-pip.py

or

sudo apt install python-pip
pip install --upgrade pip
(最新にする。)

・pipのバージョン確認
pip --version

・スクレーピング
pip install beautifulsoup4
pip install lxml
pip install html5lib


以上

2017年9月2日土曜日

Ubuntu16.04LTS、nautilusに動画のサムネイルが表示されません。

久しぶりにubuntuをクリーンインストール。 (16.04LTS)
nautilusに動画のサムネイルが表示されていません。
プラグインをインストールすれば良さそうなので、下記をインストール。

sudo apt-get install ubuntu-restricted-extras

完了

Raspberry Pi3で、コンソールからpygameを使用して画面表示に挑戦(その1)

Raspberry Pi3で、コンソールからpygameを使用して画面表示に挑戦(その1)

この記事「Raspberry Pi 3 で、SSHからコンソールに画像をfbiで出力してみた。」で、fbiコマンドを使ってみたが簡単なようで使い難かった。

pygameは標準で入っているようなので、pythonで使ってみる。

参考にしたWebは、こちら

sudoで実行すると動きます。
終了するとコンソールに戻るのでsleep入れてあります。


2019/5/12
Yさん、コメントありがとうございます。
僕も全画面で表示したく色々試した記憶があります。
その時は、HDMIの出力解像度を全画面になるよう調整したと思います。
その記事はこちら、もっと良い方法が見つかったら教えてくださいね。


#!/usr/bin/python 
# -*- coding: utf-8 -*- 

import pygame 
import os 
from time import sleep 

os.putenv('SDL_FBDEV', '/dev/fb0') 
pygame.init() 

lcd = pygame.display.set_mode((480, 320)) 
lcd.fill((255,0,0)) 
pygame.display.update() 
sleep(2) 

pygame.mouse.set_visible(False) 
lcd.fill((0,0,0)) 
pygame.display.update() 
sleep(2) 

2年ぶりに更新

 最後の記事が21年3月でしたので、27ヶ月ぶり。 2020年頃から始まったコロナ禍から在宅ワークがなくなり、通常運転に慣れてきた頃。 そろそろ新しい趣味を探していこうと思っています。 さて何するかな。。。