1Wire温度センサDS18B20の偽物を追え!

本来は"いろいろ試す"枠の内容ですがこれだけでかなりのボリュームなので
独立記事で行かせていただきます!

●DS18B20がぱちもん乱舞していた件
>AmazonとかAliexpressで売ってる激安DS18B20はまず偽物の件
マジですか…

>特にステンの筒に覆われたタイプの奴はほぼ100%ぱちもん


おいいいいいいいいいいいーーーー!!!
※Molexのコネクタはねむいさんがつけました。

しかも二つも!!!!!!!!
※Molexのコネクタはねむいさんがつけました。


なぜねむいさんはいつもぱちもんをつかんでしまうのか…orz
↑のねむいさんの買ったやつは2016年くらいにAliexpressで買ったやつです。


ちなみに中華製偽物半導体の記事を見てSTM32のぱちもん乱舞の
話から、もしや温度センサも…って話になって調べたら電子工作では
ポピュラーなDS18B20にもパチモンがあると知った次第です。


こちらの方のGithubアカウントに細かい分析が書かれており、
2019年以降でebay,aliexpress,Amazonとかで異常に安い値段で購入可能な
温度センサ"DS18B20"もしくはそれの使用をうたう製品はまず中華製の
クローンもしくは偽物ということです。


そういうわけでねむいさんも手持ちのパチモン疑惑のDS18B20のステンの
筒入りセンサの調査を行ってみました。


上記のgithubアカウントで提示されているArduino向けのぱちもん判定
スケッチをSTM32C0のプロジェクトに移植してみました
上記の画像の通りプロジェクト中のds18x20.hの赤枠のコメントを外すと
ぱちもん判定モード&パラサイトパワーモードで動作します。


(※MAXIMの製品サイトより引用)
また、"本物"のDS18B20はVCCが内部でダイオードを介してデータ線に
接続されている構造となっておりストロングプルアップという操作によって
VCC不要でデータ線とGNDの2線だけで通信が可能な"パラサイトパワー"が
使用可能ともなっております。


パラサイトパワーを使う際はDS18B20の"VCCとGNDを直結"する必要があります。
こんな感じでパラサイトアダプターを作ってみました。


また、パラサイトパワーで測定を行うには温度測定の際に1.5mAの電流を
供給する必要(ストロングプルアップ)があります。
STM32は1.5mA程度ならGPIOから電流供給可能なので、温度測定コマンドの
時だけODからプッシュプルに変更することにより追加のGPIOの操作なしで
ストロングプルアップを実現しております。


ていうわけで勝負!!!!
(※写真では通常モードですが実験はパラサイトパワーモードでやってます)

Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x28D39E2B060000A3
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0x5A014B467FFF0610A3
All Okay!
This is THE GENUINE DS18B20!!

あれ…?
通った…?
本物…?

じゃもう一つ
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x2813A92B060000E9
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0x53014B467FFF0D10E9
All Okay!
This is THE GENUINE DS18B20!!

あ…
これも本物だ…


まず大前提としてDS18B20のROMIDは28-XX-XX-XX-XX-00-00-CRC
(XXは任意のHEX値)が本物たる最初のハードルとなります。
今回のステン棒DS18B20はそれぞれ下記のROMIDだったので…
0x28D39E2B060000A3
0x2813A92B060000E9
ちゃんとパラサイトパワーで動いてるしその後のスクラッチパッド
チェックもすべて通過したので本物だったのでしょう…

ステンな君たちのこと疑って悪かったです…



●大昔にTaobaoで大量購入したDS18B20は!?

たしか東日本大震災の前後の超円高のころに大量に購入していたやつです。
骨董品のDS1820(DS18B20ではない)なんかも買って当時ちょこっと使って
それ以来ずっと寝かしていました。たしか150円くらいだったんですよね…


件のgithubの記事曰くレーザーマーキングから察するにねむいさんのは
2009年48週目製造のC4ウエハ、でROHS品であると言えます。
まとめて購入したので全部同じマーキングとなっておりました。
同じロットだったのでしょう。


簡単に抜き差しできるアダプターも作って5個ほど試してみます!!
いざ勝負!!

Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x289C63850200009A
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xAC014B467FFF041086
All Okay!
This is THE GENUINE DS18B20!!

1個目本物
おk
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x28976285020000AF
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xBD014B467FFF0310FF
All Okay!
This is THE GENUINE DS18B20!!

2個目本物
おk
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x28C08985020000AE
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xBB014B467FFF0510C6
All Okay!
This is THE GENUINE DS18B20!!

3個目本物
おk
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x286366850200001E
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xB5014B467FFF0B10A3
All Okay!
This is THE GENUINE DS18B20!!

4個目本物
おk
Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x28017D85020000BF
DS18B20 ROM ID Check Ok.
Scratchpad : 0x50054B467FFF0C101C
Read Default ScratchPad Check OK.
Scratchpad : 0x5005B4B91FFF0C1013
Exchange 9-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B463FFF0C10FC
Exchange 10-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x5005B4B95FFF0C10F3
Exchange 11-Bit Mode and Alarm Reg Check OK.
Scratchpad : 0x50054B467FFF0C101C
Write Modify ScratchPad Check OK.
Get Temperature Datas.
Scratchpad : 0xE5014B467FFF0B10BE
All Okay!
This is THE GENUINE DS18B20!!

5個目本物
おk

5個全部本物!やったね!
というわけでねむいさんが持ってたDS18B20はぜーんぶ本物で安心して
パラサイトパワーでもビシバシ使うことができます!めでたしめでたし!






…で終わるわけないでしょ!


●改めて偽物DS18B20を追え!

さて、じゃぁぱちもんDS18B20ってどんなんなの?って言う感じですが、
きわめて遺憾ではありますが、過去1年縛りでDS18B20でググってみると
ぱちもんと気づかず使用されている>マンモス哀れな奴 P! P!ゲフンゲフフン方が
かなりたくさんいることがわかりました…
ArduinoとかESP32とかラズパイ+Pythonとかのいわゆるファーストプロト
タイピングな人たち狙い撃ちされている感じでございますね…


私も自腹きって今の半導体高騰の相場では異常に安いやつを買ってあえて
試してみました!5個入りでステンのケース入りで1000円以下☆
普通に買ったら1個1000円以上するのにこの時点で本物のわけないだろうが
ぇーっ(ゴッゴッ


秋月でも860円になってて高くて買えないよぉ…


それは置いといてとりあえずパラサイトパワーモードで試してみます!
うっすらネタバレしてますけど!

Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x0000000000000000
ROMID does NOT follow expected pattern 28-XX-XX-XX-XX-00-00-CRC!

はい
パラサイトパワーモードでマトモに動きません!
パチモンでしたーーー!!!やったぜ!
じゃなくてクソァ!!!

Welcome to STM32C031C6T6 test program !!
Version W.I.P!!
Build Date : Mar 21 2023

DS18B20 Genuine Checkers Start!
DS18B20 Device found!
ROM ID : 0x2818B85704493C61
ROMID does NOT follow expected pattern 28-XX-XX-XX-XX-00-00-CRC!

パラサイトじゃないモードでも動かしてみました!
最初のROMIDのパタンチェックすらクリアできてません!!
本物の偽物です!!!!!!おめでとう!!!!!!
なんでやねん!


ちなみにねむいさんのSTM32G0STM32C0のサンプルコードでは
パチモン判定モードではSTN液晶にちゃんと"ぱちもん"と表示して
そこから先に進めなくなる親切設計です☆


残り4個もどうせ偽物なので試す時間ももったいないのでさっさと産業ごみで
捨てる予定ですがとりあえずステンのケースぶっ壊して中の偽物を引きずり
出してやりましょう…!!

――――― 5分後 ―――――

はぁはぁ…ステンのケースは本物のステンのようでめっちゃ固い…

――――― 10分後 ―――――



なんと偽物DS18B20使ってるくせにそれ以外はいい仕事してやがって中まで
ぎっちり硬いエポキシが充填されておりました…なんでやねん!


というわけで"最近の異常に安く買えるDS18B20、特にステンのケースに
入ってる奴はまず偽物"説はマジだったのとねむいさんが持ってたステンの
奴は本物のDS18B20が使用されている貴重品なので大事に大事に使って
いこうとおもいます!






…こういうパチモンが狙う市場っていわゆるライトユーザー層なのかなと
思ってます。"とりあえず動いた(←温度がみえたっぽいから)"おっけーで
終わる人はまずこれをぱちもんと見抜けませんし気づきもしません。

ファーストプロトタイピングが当たり前になった現在、ハードウエア何も
知らなくても"プログラミング"を楽しめるようになったので中華の業者が
そいつらだましてそれで飯食えるくらい魅力のある"市場"になったって
ことなのでこれから先こんなんばっかりになりそうですね〜〜…。

偉そうに言ってるねむいさんもDS18B20のぱちもんの存在知ったの今年の
はじめです。STM32に限っては10年以上使ってきて細かいエラッタまで知り
尽くしてるから情報ばんばん取り込んでたので回避できてきましたが…
XMEGAとか思いくそ被弾しましたからね…猛省猛省。

これから先、電子工作するときは動いたからおっけーの気分で終わらせず、
電子デバイスの真贋の情報は常にアンテナ張って徹底収集、なおかつ
ちゃんとオシロスコープで波形を確認したりデータシートをよく読んで
齟齬がないかとか最低限のハードウエア確認はしていこうと思いまし、た!

でもパチモン掴んだらぶろぐのネタになっておいしいのでこれはこれで。

Go to top of page