太陽光発電オーナーが再確認すべき「事業計画書の提出」についてを読んで

知り合いが、「太陽光発電オーナーが再確認すべき「事業計画書の提出」についてを読んだのだが、それで自分の屋根の太陽電池も、事業計画書を提出しないといけないの?」と相談してきた。知り合い曰く、この件に関する案内状は届いていない。

さっそく記事を読んでみて、Googleで検索して理解できたことは、
(1)締切は、9末日。
(2)電子申請紙申請で申請できる。
(3)申請に必要な情報のまとめは、このリンクをよむと分かりやすい。

そこで、

(あ)まず、締結先電力会社に問い合わせして、「事業計画書の提出」が必要か確認するといいのでは?とアドバイス。
(い)その結果、提出が必要なら、(3)に記載されている以下の主な記載項目(*)を、電力会社に教えてもらい、紙申請をすれば良いのでは?とアドバイス。(電子申請が簡単そうだと思ったのだけれど、電子申請をするにも、電子申請の登録を紙媒体で初めにしないといけないので、それなら、紙申請でも手間は同じと思うので。)
(う)リンクの案内に「平成29年9月末までに事業計画が提出されなかったからといって直ちに認定が失効するわけではありませんが、最終的に事業計画が提出されなければ認定取消しの対象になりますので、提出をお願いします。」とあるので、そんなに心配しなくてもいいと思うよ。とアドバイス。

(*)設備ID、太陽電池の合計出力、接続契約締結日/締結先、買取価格(税抜き)、接続の同意を証する書類(H29.3.31時点で運転開始済みの場合は不要)

KiCadことはじめ3章の電子回路図の描画(1/3)

KiCadのチュートリアルKiCadことはじめをやってみた。
3章の電子回路図の描画、「6章KiCad回路図コンポーネントの作成」 にジャンプの前まで

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

「KiCad回路図コンポーネントの作成」 の章にジャンプ(つづく)

Azure IoT Hub のチュートリアルをやってみた

規模が小さければ、Freeで下のような流れでデータを送ることができると思われます。
Raspberry Pi(現場) --- 3Gモデム--->>> Internet ---> Azure IoT Hub ---> Internet ---> Router ---> RaspberryPi(自宅)


で、MicrosoftのAzure IoT Hubのチュートリアルをやってみました。
使用機器、PC(Windows10)。

Pythonのチュートリアルは充実度にやや難がありそうな印象を受けたので、Node.jsでチュートリアルを試して、感じがつかめたらPythonでもやってみるという作戦にしました。


1. さいしょの一歩
Azure の無料アカウントを今すぐ作成しましょう | Microsoft Azure
でカウントを作る[無料ではじめる]。
Microsoftのアカウント(outlook)も同時に作ることに。


2. Node.jsのインストール
Installing Node.js Tutorial: Windows - NodeSource
このWebの「Step 0: The Quick Guide (TL;DR) to Get Node.js Installed on Windows」を参考にしました。

  • Download | Node.jsからWindows Installer (.msi)の64-bitをDownloadしてinstallerを実行しました。
  • 一応、インソトール後、コマンドプロンプトを立ち上げ、立ち上がったdirectory(わたしの場合はC:\Users\high-sai)でnode -vでバーション確認しました。
C:\Users\high-sai>node -v

問題なければバージョンが出力されます。

C:\Users\high-sai>node -v
v6.11.1


3. はじめのチュートリアル
Send telemetry to Azure IoT Hub quickstart (Node.js) | Microsoft Docs

私の場合、以下のdirectorを作成し、その下でチュートリアルの指示を実行しました。

C:\Users\high-sai\Documents\IoTHub\nodejs_tutorial>

例えば、チュートリアルに出てくるcreatedeviceidentityの空フォルダーを作れという指示は以下の手順で作成し、あとは好きなエディタでscriptをコピペすればいいです。

C:\Users\high-sai\Documents\IoTHub\nodejs_tutorial>mkdir createdeviceidentity
C:\Users\high-sai\Documents\IoTHub\nodejs_tutorial>cd createdeviceidentity
C:\Users\high-sai\Documents\IoTHub\nodejs_tutorial\createdeviceidentity>


4. 本命のチュートリアル
Control a device from Azure IoT Hub quickstart (Node.js) | Microsoft Docs
当初の目的にもっとも近いチュートリアルになります。

「IoT Hub の作成」と「デバイス ID の作成」は3のチュートリアルで既に作成したので飛ばしました。
注意としては、IoT Hub 接続文字列(iothub connection string)は3と4とも共通ですが、
deviceIdは、
3のチュートリアルでは、'myFirstNodeDevice'、
4のチュートリアルでは、'myDeviceId'、
ですので、3で作成したデバイスIDを再利用する場合は、
「デバイスでメソッドを呼び出します。」のsectionでてくるscriptの一部を'myFirstNodeDevice'に変更して下さい。

var connectionString = '{iothub connection string}';
var methodName = 'writeLine';
var deviceId = 'myFirstNodeDevice';


5. 最後に感想
javascriptの公文は見慣れていないので少しとっつきにくかったですが、スムーズにチュートリアルをすすめることができました。
皆さんはいかがだったでしょうか?

There are very useful descriptions out there. I followed their instruction.

You should check them out.
How To Serve Flask Applications with uWSGI and Nginx on Ubuntu 16.04 | DigitalOcean

How To Serve Flask Applications with uWSGI and Nginx on Ubuntu 14.04+ · GitHub

This is my records how I did it.

OS: Rasbian (Jessie-lite)
Python 2.7

1. Install and Configure VirtualEnv and VirtualEnvWrapper

pi@raspberrypi:~ $ sudo apt-get update
pi@raspberrypi:~ $ sudo apt-get install python-pip python-dev
pi@raspberrypi:~ $ sudo pip install virtualenv virtualenvwrapper
pi@raspberrypi:~ $ echo "export WORKON_HOME=~/.virtualenvs" >> ~/.bashrc
pi@raspberrypi:~ $ echo "source /usr/local/bin/virtualenvwrapper.sh" >> ~/.bashrc
pi@raspberrypi:~ $ source ~/.bashrc

2. Create the virtual environment (flaskappenv)

pi@raspberrypi:~ $ mkvirtualenv flaskappenv

You are now in the your environment
(flaskappenv)pi@raspberrypi:~ $

3. Install Flask and uWSGI under the flaskappenv

(flaskappenv)pi@raspberrypi:~$ pip install uwsgi flask

4. Set up a Flask Application (flaskapp)

(flaskappenv)pi@raspberrypi:~ $ cd ~
(flaskappenv)pi@raspberrypi:~ $ mkdir flaskapp
(flaskappenv)pi@raspberrypi:~flaskapp $ cd flaskapp/
(flaskappenv)pi@raspberrypi:~flaskapp $ vi flaskapp.py 
  • flaskapp.py
from flask import Flask
app = Flask(__name__)

@app.route("/")
def hello():
    return "<h1 style='color:blue'>Hello There!</h1>"

if __name__ == "__main__":
    app.run(host='0.0.0.0')

5. Create the WSGI Entry Point

(flaskappenv)pi@raspberrypi:~ $ vim ~/flaskapp/wsgi.py
  • wsgi.py
from flaskapp import app

if __name__ == "__main__":
    app.run()

6. We're now done with our virtual environment, so we can deactivate it:

(flaskappenv)pi@raspberrypi:~ $ deactivate

7. Creating a uWSGI Configuration File under the system's Python environment

pi@raspberrypi:~ $ vim ~/flaskapp/flaskapp.ini
  • flaskapp.ini
[uwsgi]
module = wsgi:app

master = true
processes = 5

socket = flaskapp.sock
chmod-socket = 660
vacuum = true

die-on-term = true
pi@raspberrypi:~ $ sudo vim /etc/systemd/system/flaskapp.service
  • flaskapp.service
[Unit]
Description=uWSGI instance to serve flaskapp
After=network.target

[Service]
User=pi
Group=www-data
WorkingDirectory=/home/pi/flaskapp
Environment="PATH=/home/pi/.virtualenvs/flaskappenv/bin"
ExecStart=/home/pi/.virtualenvs/flaskappenv/bin/uwsgi --ini flaskapp.ini

[Install]
WantedBy=multi-user.target
pi@raspberrypi:~ $ sudo systemctl start flaskapp
pi@raspberrypi:~ $ sudo systemctl enable flaskapp

8. Install Nginx and Configuring Nginx to Proxy Requests

pi@raspberrypi:~ $ sudo apt-get install python-pip python-dev nginx
pi@raspberrypi:~ $ sudo vim /etc/nginx/sites-available/flaskapp
  • /etc/nginx/sites-available/flaskapp
server {
    listen 80;
    server_name localhost;

    location / {
        include uwsgi_params;
        uwsgi_pass unix:/home/pi/flaskapp/flaskapp.sock;
    }
}
pi@raspberrypi:~ $ sudo ln -s /etc/nginx/sites-available/flaskapp /etc/nginx/sites-enabled
pi@raspberrypi:~ $ cd /etc/nginx/sites-available
pi@raspberrypi:/etc/nginx/sites-available $ sudo mv default default.back
pi@raspberrypi:~ $ cd ~
pi@raspberrypi:~ $ sudo nginx -t
pi@raspberrypi:~ $ sudo systemctl restart nginx
sudo usermod -aG www-data pi
sudo chown -R pi:www-data /home/pi/flaskapp/*

9. You should now be able to go to your server's domain name or IP address in your web browser:
http://server_domain_or_IP
In my case, http://raspberrypi.local

10. check you have the following files in the directory "~/flaskapp" IF http://raspberrypi.local did not show Hello There!

flaskapp.ini
flaskapp.py
flaskapp.pyc
flaskapp.sock
wsgi.py
wsgi.pyc

ラズベリーパイのJessie LiteのSSH

ラズベリーパイのJessie LiteってSSHが無効になっているとは、知らなかった。
モニターなし、キーボードなし、の環境(母艦のPCだけ)で、SSHを有効にする方法がYoutubeにあがっていたのでメモがてら紹介します。

PC上で、
SDカードにJessie Liteのイメージファイルを書き込み
そして、SDカードがPCのEドライブにあるなら、コマンドプロンプトを開いて

echo>E:\ssh

これでSSHで接続できます。

以下のGEEK 88さんの動画で、Jessie LiteのDownloadからSSHで接続するところまでを知ることができます。Thanks GEEK 88!

内装解体

内装解体開始。

使った道具

  • はしご
  • バール(内装用)
  • ハンマー

当初、天井板は再利用しようと思ったが、埃で釘の頭も見えないし、かなりの手間なので、作戦変更。
えいっ!と、下から突き上げ、剥ぎとることに。
なので、板は割れ目がペキッ!

埃がすごいので、マスクが必要だと学習した一回目でした。
その他に、ヘルメットも必要かな。

今回は少しバールのサイズが小さめで、バールで釘を引っ掛けるのに少し苦労した。次回?からは、釘を持参してホームセンターでバール選びをすることにしよう。

不可能を可能にする長期のミッションになりそうだ。なると確信した初日でした。