Windows10その2

Windows10をインストールした不具合について、boot切り替え出来るアプリがインストールされなかったが

再度インストールに挑戦したら、すんなりとインストール出来た。更に、boot切り替え用アプリもインストールされた。

なんだった?

これで、iMac mid2011の

Windows10インストールも完了。

EdisonのMraa(SPI)を使う

EdisonのMraaを使い、Python言語でSPIの設定を行ってみた。

Arduino Boardでは
IO10:SPI_2_SS1(CS)
IO11:SPI_2_TXD
IO12:SPI_2_RXD
IO13:SPI_2_CLK
が使える。

Pythonで以下のコマンドが使える。

Spi (int bus)
mode (Spi_Mode mode)
frequency (int hz)
writeByte (uint8_t data)
write_word (uint16_t data)
write (uint8_t *txBuf, int length)
write_word (uint16_t *txBuf, int length)
transfer (uint8_t *txBuf, uint8_t *rxBuf, int length)
transfer_word (uint16_t *txBuf, uint16_t *rxBuf, int length)
lsbmode (bool lsb)
bitPerWord (unsigned int bits)

SPI_MODE0
CPOL = 0, CPHA = 0, Clock idle low,
data is clocked in on rising edge,
output data (change) on falling edge

SPI_MODE1
CPOL = 0, CPHA = 1, Clock idle low,
data is clocked in on falling edge,
output data (change) on rising edge

SPI_MODE2
CPOL = 1, CPHA = 0, Clock idle low,
data is clocked in on falling edge,
output data (change) on rising edge

SPI_MODE3
CPOL = 1, CPHA = 1, Clock idle low,
data is clocked in on rising,
edge output data (change) on falling edge

注意点
frequency()はHzで指定 25MHzまで
SpiのSは大文字で書く
Spi()のポート番号はなんでもいいみたい。。。?? 1、2でも同じ動き。
mode()は0,1,2,3を指定。
lsbmode()は、数字を入れるとエラーになるし、うまく動かない。???

使用例

#!/usr/bin/python

import mraa

spi = mraa.Spi(2)
spi.frequency(1000000)
spi.mode(0)
spi.lsbmode(True)

while True:
spi.writeByte(0x35)

受信は、まだやってないです。。。

EdisonのMraa(PWM)を使う

EdisonのMraaを使い、Python言語でPWMの設定を行ってみた。
参考にしたHPは、

iotdk.intel.com Mraa

EdisonのPWMはクロックの関係で、波形期間が
PWM period (μs) PWM frequency (Hz)
213                              4,688
427                              2,344
853                              1,172
1,707                              586
3,413                              293
6,619                              151
6,827                              146
13,653                            73.2
27,307                            36.6
54,613                            18.3
109,227                            9.2
218,453                            4.6
上記の値を適用されてしまう。
なので、適当なperiod値を設定しても上記の値となる。

Python のコマンドは
Pwm (int pin, bool owner=true, int chipid=-1)
float write (float percentage)
period (float period)
period_ms (int ms)
period_us (int us)
pulsewidth (float seconds)
pulsewidth_ms (int ms)
pulsewidth_us (int us)
config_ms (int period, float duty)
config_percent (int period, float duty)
int max_period ()
int min_period ()
が利用できる。

注意点
Dutyは0.5fのfはエラーとなるので必要ないらしい。
config_percent (int period, float duty)
periodは、msで設定。

使用例

#!/usr/bin/python
import mraa
import time

PWM_PIN = 3

#init PWM
x=mraa.Pwm(PWM_PIN)
x.config_percent(218,0.5)
x.enable(True)

x.period_us (54613)
x.pulsewidth_us (1000)

目的は、1Hzの矩形波が希望であったが
4.6Hzで我慢しよう。

久々に中古オシロを使ったが、調子が悪かった。新しいオシロが欲しい。

SHARP製MEMORY LCDを動作

秋月電子通商にて、SHARP製のモノクロHR-TFTメモリ液晶を購入しました。
元液晶材料開発者として、動かしてみたい品物です。
まずは、PICマイコン(24FJ128GA)で動かしてみよう。

しかし、PICは久しぶりなので、ソフトのインストールからはじめる。
MAC用のIDEを入れるがMICROCHIPの
MPLABXIDEの使い方がわからない。
以前は、MPLABIDEV8.xxだったので
使い方がガラッと変わってしまった。
HPで調べてなんとか、書き込みも出来て無事に表示した。
インターネットは便利だ。(検索エンジンgoogleがすごい)

趣味のブログを参照させて頂いた。
でも、液晶の交流(極性)反転が出来てないような。
ちょっとソフト修正して交流反転をした。

元液晶材料開発していたので、液晶材料劣化が気になってしまう。
今度は、edisonで動かしてみたい。・
edisonのSPIは速度が速すぎて使えそうもないので、どうしよう?

LCD

 

python cgi

pythonを使ってWEBのLチカをやってみました。

python LED_ON\OFF

下記にプログラムを記します。

ついでに、

ソースコードをキレイに表示するWordPressプラグイン「SyntaxHighlighter Evolved」を入れてみた。


#!/usr/bin/python
# -*- coding: utf-8 -*-
html = '''Content-Type: text/html

<html>
<head>
<title>The pressed botton test</title>
</head>
<body>

<h1>which botton do you press?</h1>

The pressed botton is %s

<form action="hello2.py" method="post">
<input type="submit" name="btn1" value="[1]_LED_ON" />
<input type="submit" name="btn2" value="[2]_LED_OFF" />
<input type="submit" name="btn3" value="[3]_LED___" />
</form>

</body>
</html>
'''

import mraa
import time
import cgi
#x = mraa.Pwm(3)
time.sleep(1)
gpio = mraa.Gpio(13)
gpio.dir(mraa.DIR_OUT)

f = cgi.FieldStorage()
if f.getfirst('btn1'):
btn = '1'
gpio.write(1)
elif f.getfirst('btn2'):
btn = '2'
gpio.write(0)
elif f.getfirst('btn3'):
btn = '3'
else:
btn = ''

print html % btn

PHP: OPcache

PHPのPOcacheを入れてWordpressを高速化しようとして、ソースからopcahe.SOファイルを作ってみたが
そものも、パッケージでインストールしたPHPが対応対応してないようだ。
PHPのソースからmakeしないとだめか。
またHPで調べて、いろいろ試行錯誤が必要か。
edisonは、環境が揃ってないからすんなりいかないね。

Nano Editor

nano Editor をopkg nano install でインストールすると、
文字化けしてしまいます。

なので、
wget http://www.nano-editor.org/dist/v2.2/nano-2.2.6.tar.gz && tar xvf nano-2.2.6.tar.gz && cd nano-2.2.6 && ./configure –prefix=/usr && make && make install
でインストールすると英字でインストールされます。

WordPressの高速化

Intel EdisonでWordPressを動かには、ちょっと厳しいと報告しましたが

HPでいろいろ調査して、高速化に寄与しそうな

Lighttpdのモジュールを追加してみました。

少し速くなったような。ギリギリ使えるレベルにはなりそうな感じがしてます。

もう少し、調査して試してみたいと思います。

素っ気ない画面も、少しは装飾できるかな。

setup

WordPressが動いたけど、設定がわからない。

いろいろ設定をすると重たくなるので、まずは初期のままにしておく。

HPか本で勉強するしかないか。。。

テキストのみなら何とか使えるのか?

とりあえず、WP File Cacheを導入したけど

速くなったかわからない。そもそも、まともに動いているか?

Intel Edisonの設定すらあやしいので、ぼちぼちやるしかない。

一応、低負荷用サーバソフト群をインストールしたんだけどなぁ。。。

ちなみに、このWordPressの動作環境は、

  • Hard:    Intel Edison Release 2.1. Yocto
  • WebServer: Lighttpd ver1.4.35
  • php module:  php ver 5.5.20(php-cgi)
  • SQLSever: sqlite ver3.8.3
  • Soft : WordPress ver4.22
    です。