Darkside(リンクエラー修正しました)

2018年10月11日の記事

2018年10月11日(木) 21:23

$_COOKIE で読めない

 perl で書き込んだクッキーが、php で読めないというトラブルが発生した。
 検索してもヒットしないため、ここに情報を公開しておこうと思う。

 簡単な php のプログラムを作って実験したところ、perl で書き込んでいるのが原因ではなかった。
 クッキーの名前に、ピリオドが含まれていたのが原因のようだ。

 setcookie() で書き込んで、すぐに $_COOKIE[] で読み出してみる。
 それでも、名前にピリオドが含まれていると取得できない。
 perl の場合、ピリオド入りの名前でクッキーを書き込んでも、普通に読み出せる。

 クッキーの名前としてセミコロンやカンマは禁止されているが、ピリオドが禁止されているという情報は発見できなかった。
 なぜ php では駄目なのか分からない。止むを得ず、名前を変えることにした。アンダーバーなら、php でも読み書きできる。

written by higashino [ネット・PC] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL

2018年10月11日(木) 21:22

基板改造

 既存基板上の DC-DC コンバーターを生かしておくと、ボタン類にも3Vが供給される。チップ抵抗で適切にプルアップされているため、一点から信号を引き出すだけでHかLか読むことができる。実装空間を節約できる。しかも、大半のボタンは基板表面に信号が出ている。丸い小さな金色の、露出パターンだ。恐らく、製品試験に有用だからだろう。
 そこに配線をハンダ付けし、PICに接続するだけでOKだ。

 ただし、左人差し指で押す中段ボタンだけは、信号が出ていない。コネクターのハンダ付け部分に、配線を付けるしかないだろう。とはいえ、大した問題ではない。現バージョンで入力が読めている側なので、配線すれば済むだけだ。
 入力が読めていない唯一のボタンは、新品の既存基板上でなら読み取れる。デジタルボタンの大半は、押していない状態が3Vで押すと0Vになる。しかし、例外ボタンは逆だ。押していないと0Vで、押すと3Vになる。恐らく、隣接のアナログボタンとの絡みだろう。人差し指操作の下部アナログボタンは、押していないと0Vで、強く押すほど電位が高くなる。最高3Vだ。

 ここで、トラブル発生。スマホホルダーを増設改造するためのネジを筐体に取り付けるため、筐体前面に空間が必要になる。これが、既存基板と干渉する。よって、基板前部を削り取らねばならない。
 これにより、電源スイッチ兼モード切り替えスイッチが消失し、電源パターンの一部も消失する。そのままでは、電源が入らなくなる。

 電源スイッチが機械式を別の場所に取り付けるので、基板側は常時通電にしておきたい。また、破壊された電源パターンも補わねばならない。この調査が、なかなか大変だった。

 既存基板のバッテリーコネクターを外し、別に用意した機械式スイッチに使用。
 跡地には、ターンオフサージ対策のショットキーバリアダイオードとコンデンサーを取り付ける。
 バッテリー電源から、DC-DC コンバーター入力にジャンパーを飛ばす。
 DC-DC コンバーター出力から、VDDにジャンパーを飛ばす。
 切り替えスイッチ跡地に、ジャンパーを取り付ける。 

 その他、キー入力を読んで電波を飛ばすマイコンを除去。さもないと、勝手に電波を飛ばされて困る。クロックもノイズ源でしかないので、除去。
 

 こうしてアナログ系のボタンは正常に電圧を読めるようになったが、デジタル系が全滅。押そうが押すまいが0Vのままだ。
 バージョン1の基板残骸で確認すると、デジタルボタンいずれもVDDとの間に約64KΩの抵抗値がある。それに対し、この基板では絶縁状態になっている。いったいどこの抵抗を切断してしまったのだ?

 基板上に実装されたチップ抵抗を見ると、64KΩ前後のものが見当たらない。デジタルボタン用のプルアップ抵抗は、基本的にボタン1つごとに1つ必要になる。十数個のボタン用のプルアップ抵抗が、全く見当たらないというのは変だ。
 となれば可能性は限定される。恐らく、除去したマイコンにプルアップ抵抗が内蔵されていたのだろう。ボタン用のプルアップ抵抗はウザいので、内蔵させればマイコンのウリになる。かと言って、除去せずに電波を飛ばされても困る。これに関しては、空間に余裕のできるPIC付近に、プルアップ抵抗を実装すれば良いだろう。

 PIC16F1827 の RA5 と RB0〜RB7 までの合計9ピンは、内部プルアップ可能である。そのぶん抵抗の実装を減らせるが、抵抗値不明ってのは引っ掛かる。自前で実装した方が、確実だ。空間は足りるはずだし。

written by higashino [バトルタンク改造Tiger1] [この記事のURL] [コメントを書く] [コメント(0)] [TB(0)]

この記事へのトラックバックPingURL
Darkside(リンクエラー修正しました)

Generated by MySketch GE 1.4.1

Remodelling origin is MySketch 2.7.4