2020/12/14

Acronis Scheduler error 1326

Acronisで次のエラーが出てた場合の対処

Scheduler failed to run task  with GUID 'xxxxx' because of error 1326 (Logging on with the specified credentials is impossible, probably because the account does not exist or the password is invalid.).

サービス → Acronis Scheduler2 Service → プロパティ

「ログオン」タグ

アカウントを選択して、Acronisインストール時に作成したアカウントを設定する。

2020/09/11

Ichigojam x sakura.io(パリティ値の演算式)

 Ichigojamから、sakura.ioモジュールを使って、sakura.ioへ送信電文を作る場合、電文の最後にパリティ値が必要となる。

たとえば、

要素種別引数データ長引数データ1引数データ2パリティ値
chtypeD0D1D2D3D4D5D6D7chtypeD0D1D2D3D4D5D6D7
#21201#69TT>>80000002#69HH>>8000000P

の場合、パリティ値は、要素種別~引数データ2D7までの値の全ての排他的論理和となる。

この時のパリティ値の演算式は次のとおり。ちなみにデータが[0]は、省略できるため、

P=(H>>8)^(T>>8)^H^T^#21^20^1^#69^2^#69

となる。

ここで気を付けたいのは、右シフト演算を先に計算させるように()カッコを用いていること。C言語などの演算式は、右シフト演算は、排他的論理和より優先順位が上位なのだが、Ichigojamは、シフト演算と論理演算が同位らしく、()がないと、左から順に演算されてしまって、正しい値が計算できなくなる。(わたしはこれでずいぶんハマった…)

Ichigojam x sakura.io(複数値の通信電文の作り方)

 Ichigojamとsakura.ioモジュールを使って、複数の値をsakura.ioへ送信したい場合、チャンネル番号(ch)ごとに、値(D(value))を送ることが出来る。

コマンドリファレンス」P28に記載があるが、引数データ(N)ごとにチャンネル番号を指定して、値を設定してあげるとこで対応できる。

たとえば、

{
  "channels": [
    {
      "channel": 1,
      "type": "i",
      "value": 249,
      "datetime": "2020-09-11T05:12:13.061983501Z"
    },
    {
      "channel": 2,
      "type": "i",
      "value": 729,
      "datetime": "2020-09-11T05:12:13.061983501Z"
    }
  ]
}

と、送信したい場合は、下記のような電文を作成する。

要素種別引数データ長引数データ1引数データ2パリティ値
chtypeD0D1D2D3D4D5D6D7chtypeD0D1D2D3D4D5D6D7
#21201#69TT>>80000002#69HH>>8000000P

引数データ長は、引数データ1(10byte)+引数データ2(10byte)なので、[20]となる。

チャンネル番号の指定自体は、#00(0)~#7F(127)まで可能みたいだが、データは最大16個まで送信できるようなので、まあ、普通はch(0)~ch(15)かな。

ちなみにこの場合のプログラムは、

200 'LTE

210 P=(H>>8)^(T>>8)^H^T^#21^20^1^#69^2^#69

220 POKE #800,#21,20,1,#69,T,T>>8,0,0,0,0,0,0,2,#69,H,H>>8,0,0,0,0,0,0,P

230 ?I2CR(79,#800,23,#830,1)

こんな感じ。 

Ichigojam x ブレイクアウトボード(SCO-BB-01) x sakura.ioモジュール(SCM-LTE-01)

 sakura.io側で通信を受ける際に、gpio形式(GPIOモード)する場合は、下図の赤丸のジャンパーピンをショートさせる。

逆に言うと、connection形式(json)にしたいときは、ジャンパーピンをショートさせない。

赤丸ジャンパーピンをショートさせない(connection)


2020/04/16

家庭用ルータのDHCPからIPが割り当てられない

自宅において、PCやスマホ、それ以外のインターネットに繋げる様々なデバイスを、家庭用ルータのDHCPからIPを取得するようにしているのだが、自宅に帰ってきたときに、スマホでインターネットが見れないことがかなり頻繁に発生する。

ルータが悪いのか、無線LANアクセスポイントが悪いのかと色々調べてみると、どうやら家庭用ルータのDHCPによるIP割当は、設定でいくら192.168.0.2~192.168.0.254まで割り当てられるようにしていても、実際には、15~30個が限界に近いらしい。たぶんこれだ。
うちは、フレッツ光を入れているので、PR-400NEがDHCPサーバとして動いているんだけど、これは15~20個くらいで限界に達して、DHCPからIPが取れなくなって、スマホが「168.x.x.x」を割り当てるので、インターネットに接続ができなくなる。
じゃあ、PR-400NEを止めて、別のルータやDHCPサーバにすればいいんだろうけど、業務用のルータは高いし、DHCPサーバを運用するのは、運用コストが高いしで、適切ではない。
では、どうすればいいかというと、固定IPを割り当ててしまうのが手っ取り早い。どうせ自宅なんて、IPが被るほどデバイスも多くないだろうし、なんとなく振ったIPアドレスも覚えていられるだろし、192.168.0.100以上から固定IP振っておけば、DHCPとも被らないだろうし。

ということで、こんなことが起こった時には、固定IPで解決!