2019年1月30日水曜日

FaceBookのイベント複製できない。「エラーが発生しました。」

FBのイベント複製で「エラーが発生しました。」で複製できない。
下書きも同じエラー。

解決策:
iPhoneのFBアプリから複製できました。

試した環境:
Win:Chrome、FF
Mac:Chrome
iPhone:Chrome、safari(モバイルページは複製リンクなし。PC版でもNG。)

検索用:
定期イベント

2019年1月9日水曜日

ネット対戦ファミコンの野望

突如閃いたので、作ることにしました!



時間が無いので、早速設計をまとめていきます。

やりたいこと:

・ネット経由でファミコン一緒にしたい。
・ソレコンに応募したい

ユースケース:

アクター1:ユーザA(自分)
アクター2:ユーザB(遠隔地に住んでいる友人。ファミコン本体を持っている。)

・ユーザAとユーザBがテレビ電話で通話している。
・Bがファミコンをセットアップし、電源ONする。
・Bがファミコンのツーコンに【操作冶具】をセットする。
・Aが【入力冶具】を操作すると、【通信システム】によりインターネット経由でBの【操作冶具】が動作し、ファミコンのツーコンを操作できる。

開発対象:

【入力冶具】

市販のPCに接続可能なコントローラを使用する。(開発対象外)

【操作冶具】

ハードウェアとマイコンのソフトウェアの開発。
PCからUSB経由で、ソレノイドを動作させ、ミニファミコンのツーコンを操作する。
マイコン:Arduino
PCとのIF:シリアル通信
ソレノイド:タカハ機工製

【通信システム】

送信SW:【入力冶具】からの入力を受信し、遠隔地へコマンドを送信する。
受信SW:送信SWからの入力を受信し、【操作冶具】へコマンドを送信する。

インターフェース仕様:

送信SW-受信SW 悩み中



受信SW-操作冶具

シリアル通信 9600bps

ボタン|ON|OFF
A | A | a
B | B | b
上 | C | c
下 | D | d
左 | E | e
右 | F | f

全 | Z | z

機構設計:

ファミコンのコントローラに強固に固定する必要がある。
MDFとネジなどでコントローラとソレノイドを固定する。
位置を微調整できる機構が望ましい。

電源はUSB以外から取得してもよい。
最終版はアクリルの方が見た目のインパクトがありそう。
無駄に光らせたりして。

懸念事項:

ミニファミコンのコントローラは小さいので、小さいソレノイドを準備必要。


工程:

締め切りは2/12。ホームページから応募する。
作品内容、写真・動画が必要。

#1 1/9~15 設計、機材調達
#2 1/16~22 操作冶具ドラフト作成
#3 1/23~29 通信システム開発
#4 1/30~2/5 全体試験、調整
#5 2/6~2/12 遠隔地デプロイ、動画作成、応募


ゲームパッドのドライバ設定:

Macでゲームパッドを動かす方法

ゲームパットのボタンとキーの対応は、マインクラフトに合わせて以下とした。
上 w
下 s
左 a
右 d

A 右カーソル
B 左カーソル



obnizを使うことにより、通信部分のコード量を減らせる。
obnizクラウドで、WebSockで通信できるようです。








2/26
ソレコン大賞は逃しましたが、ネットニュースに取り上げられたりしてちょいバズりしてます。

https://internet.watch.impress.co.jp/docs/yajiuma/1170572.html

http://news.livedoor.com/article/detail/16074496/
http://originalnews.nico/173409
https://news.nicovideo.jp/watch/nw4889462
https://news.nifty.com/article/item/neta/12237-201674/


2018年5月13日日曜日

さくらVPSでFTPが繋がらない問題

結論

iptablesが原因でした。

systemctl stop iptables
systemctl disable iptables
で解決。

解決手順

# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: active (exited) since 日 2018-05-13 12:40:48 JST; 2s ago ★動作中

# systemctl stop iptables
  ・・・

# systemctl status iptables
● iptables.service - IPv4 firewall with iptables
   Loaded: loaded (/usr/lib/systemd/system/iptables.service; enabled; vendor preset: disabled)
   Active: inactive (dead) since 日 2018-05-13 12:41:23 JST; 5s ago ★停止中


恒久対策として、起動しない設定にする。

確認
systemctl is-enabled iptables

起動しない設定
systemctl disable iptables


現象

FTPできてたのに、できなくなった!!

推定原因

無効にしていたけど、スケールアップの時にサーバ再起動で、再度有効になったのかな?

環境

さくらVPS、Centos7

調査経緯

Mac FileZillaでエラー。
状態:          ******.com のアドレスを解決中
状態:          ***.***.***.***:*** に接続中...
状態:          接続の試行が失敗しました: "ECONNREFUSED - Connection refused by server".
エラー:      サーバに接続できませんでした

WireSharkで見ると、TCP:SYNに
ICMP 106 Destination unreachable (Host administratively prohibited)
で返る。

WinのFileZillaでもNG。
FTPコマンドでもNG。
ポート接続確認サイトでもNG。

FireWallか?
systemctl status firewalld
● firewalld.service - firewalld - dynamic firewall daemon
   Loaded: loaded (/usr/lib/systemd/system/firewalld.service; disabled; vendor preset: enabled)
   Active: inactive (dead)
     Docs: man:firewalld(1)
停止済みだった。

SE Linuxか?
getenforce
または
/usr/sbin/getenforce (最小構成Linuxは/usr/sbinに入るのかな?)
Disabled

停止済みだった。




2017年5月21日日曜日

バックアップのためにコピーした「*** - コピー.ino」で宣言重複エラー

なぜか変数、定数が重複してるよ!っていうエラーが消えなくてハマってました。
原因分かったので残しておきます。

NG事象①

ソース
#define LED_PWM_PIN 0     // 照明用PWMピン
エラー
LED_Light:4: error: expected unqualified-id before numeric constant
 #define LED_PWM_PIN 0     // 辣ァ譏守畑PWM繝斐Φ
                     ^
C:\Users\admin\Documents\arduino\LED_Light\LED_Light - 繧ウ繝斐?シ.ino:14:5: note: in expansion of macro 'LED_PWM_PIN'
意訳:
expected unqualified-id before numeric constant
数値は再定義できないよー。
('LED_PWM_PIN'が0で定義済みのため。「#define 0 0」で認識している。)

in expansion of macro 'LED_PWM_PIN'
LED_PWM_PINは定義済みだよー。

NG事象②

定数駄目なら、変数にしてみた。

ソース
int LED_PWM_PIN = 0;     // 照明用PWMピン

エラー
C:\Users\admin\Documents\arduino\LED_Light\LED_Light - 繧ウ繝斐?シ.ino:14:5: error: redefinition of 'int LED_PWM_PIN'
LED_Light:4: error: 'int LED_PWM_PIN' previously defined here
 int LED_PWM_PIN = 0;     // 辣ァ譏守畑PWM繝斐Φ
redefinition of 'int LED_PWM_PIN'

再定義だよー。


原因:

バックアップ用にコピーしたファイルもArduino IDEが読み込んで、一緒にコンパイルしていたため、変数重複のエラーが発生していた。
「 - コピー」が文字化けして、気づきにくい!

NG時のフォルダ構成:
LED_Light
├LED_Light.ino
└LED_Light - コピー.ino

対策:

フォルダ作成して、その中に入れれば解決しました。
LED_Light
├LED_Light.ino
└bk
 └LED_Light - コピー.ino



2017年4月12日水曜日

SourceTreeからBitbucketにログインできなくなった(ユーザ名でのログイン禁止になった)

前までログインできてた、SourceTreeでBitbucketにログインできない!
WinでもMacでもNG。

Authenticate
Login required for:bitbucket.org
User:***
Password:
というダイアログが出て、パスワード入力を促されます。

試しにWebのBitbucketにログインしようとしたら、
ユーザー名でログインすることはできなくなりました。代わりに Atlassian アカウントのメール アドレスをご利用ください。
とエラーメッセージが。
原因はこれですね。

SorceTreeのメニュー>ツール>オプション>認証>保存されたパスワード
からbitbucketを削除してSourceTreeを再起動。

フェッチで動作確認。
あれれ、前のユーザ名が残ってるな。

これかな?
メニュー>リポジトリ>リポジトリ設定>選択して編集
URL/パス のusername@を削除。
一番下のユーザ名のテキストボックスをメールアドレスに変更。

フェッチで動作確認。
Authenticateが出るので、Usernameにメールアドレス入れて、Password入れてLoginをポチ。

OK!解決!




2017年4月9日日曜日

moosoftさんのROBOBA048とROBOBA049でLチカとDF Playerで曲再生


初級者向けにPDFの補足をまとめてみました。
ご参考に。


■全体の流れ

PDF ESP-WROOM-02(ESP-8266EX) & DFPlayer Mini (MP3 再生モジュール) P4でファーム更新 P5でArduino IDE設定 スケッチ書込み Wifiでアクセス

■手順補足

①解凍パスワード間違い(2017/4/9時点)

P4 <ファームウエア更新> ツール Flash_tool_2.4.zip の解凍パスワード 誤:electrrodragon 正:electrodragon

②USBドライバ

Win10の場合。 デバイスマネージャから 他のデバイス>「FT231X USB UART」を右クリック ドライバーソフトウェアの更新>ドライバーソフトウェアの最新版を自動検索します。 でドライバ更新できた。
ポート(COMとLPT)に 「USB Serial Port(COM*)」と表示されればOK。(*は数字)

③SDKダウンロード

PDFのP4に記載のSDKのページへ。
http://espressif.com/en/products/hardware/esp8266ex/resources



③Download Path Config

pdfの画像の通りになればOK。 左のチェックをオン。 ...でエクスプローラで選択か、パスを入力。 「C:\Users\admin\Downloads\」の部分は、ダウンロードしたパスを指定。 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\esp_init_data_default.bin 0x00000 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\at\512+512\user1.1024.new.2.bin 0x01000 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\blank.bin 0x7e000 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\blank.bin 0xfe000 C:\Users\admin\Downloads\esp8266_nonos_sdk_v2.0.0_16_08_10\ESP8266_NONOS_SDK\bin\esp_init_data_default.bin 0xfc000 pdfの手順で書き込みの箇所でツールの「start」ボタンを押す。 「FINISH完成」が表示されれば書き込み完了。

④IDEの設定

メニュー>ファイル>環境設定>追加のボードマネージャのURL に以下を入力し、OKを押す。 http://arduino.esp8266.com/stable/package_esp8266com_index.json ツール>ボード>ボードマネージャ ESP8266で検索し、ESP8266をインストール。

⑤DFPlayer-Mini-mp3ライブラリ追加

https://github.com/DFRobot/DFPlayer-Mini-mp3

⑥スケッチ書き込み

名前がかぶらないように、70行目のSSIDを変更。 const char *ssid = "ESP-Moo"; ↓ const char *ssid = "ESP-Moo-Hoge"; ディップスイッチをDLにして書き込み。完了したら戻す。

⑦Wifiアクセス

スマホから⑥で設定したWifiに接続。 ブラウザで「192.168.4.1」にアクセスする。

■資料

その他のサンプル http://moosoft.jp/index.php?option=com_content&view=article&id=108&Itemid=144 DFPlayer Mini サンプルアプリ http://moosoft.jp/index.php?option=com_content&view=article&id=110:roboba048roboba049-&catid=55:wi-fi-&Itemid=130

2017年3月16日木曜日

「スペース・デジミン」Arduinoと赤外線センサーを使ったテルミンデバイス

ソフトウエアエンジニアが、ハードの世界に飛び込んで、頑張って作った1作目。
16年2月頃にArduinoの存在を知って、4月~7月の約3カ月で作成しました。
せっかくなので、記録を残しておきます。

NT京都に出展します!ぜひ演奏しにきてください!




動画

テスト演奏

ジミーペイジとセッション


■テーマ

  • なめらかな音程変化
  • 本物のテルミン同様の操作性(右手で音程、左手で音量)
  • スペーシーなディレイ!!

■材料

ハード


ソフト


■頑張りポイント

コード最適化

赤外線センサ2つの値を読んで、MOZZIで音作って、SRAMでディレイ処理してってやると、処理が追い付かずノイジーになってしまいました。
analogRead()や、Sramのライブラリを最適化しました。
インライン関数化や、ビットシフトで計算等でミリミリした改善。

センサ安定化

赤外線センサの値が安定しないので、別電源にしてみたり調べまっくたり実験しまくって、100ufのコンデンサを付けると安定することがわかりました。

センサ値を音程に変換する数式


こんな感じで試行錯誤して決めました。

その他

ケースの加工が大変だった!何とかうまい具合にケースに収まった!

■今後の予定

時間に余裕が出来れば、機能追加したいなー。
  • 音階表示
  • カリブレーション
  • 16bit

■参考サイト

Qiita Arduino UNOで SPI接続のSRAM(23LC1024)を使ってみる