Добрый день.
Извиняюсь если не в тот топик поместил, но вроде показался этот подходящим, да и кармы для других не хватает.
Давненько приобрел для себя Fez Panda 2 (заказывал на dfrobot)
Побаловался и забросил. Вчера вечером попался сей девайс на глаза, а рядом ключи с «таблеткой» от домофона. Вот и решил попробовать считать данные из него. Работает он по интерфейсу 1-Wire (который согласно описанию панды «available on any IO»)
Расписывать его работу не буду, кому интересно можно прочесть здесь
Для работы нам понадобится спаять/скрутить вот такую схемку:
![подтягивающий резистор](https://habrastorage.org/r/w780q1/storage2/e41/4f8/b73/e414f8b734e707ba0009ec0315ad252f.jpg)
![пруф](https://habrastorage.org/r/w780q1/storage2/94e/e39/dc7/94ee39dc7feb15eac7c990e2ee155c14.jpg)
Код приложения выглядит так:
Извиняюсь если не в тот топик поместил, но вроде показался этот подходящим, да и кармы для других не хватает.
Давненько приобрел для себя Fez Panda 2 (заказывал на dfrobot)
Название |
Модель |
Цена |
2A Dual Motor Controller |
DRI0002 |
$17.00 |
FEZ Panda II- A .NET Micro Framework Controller |
DFR0142 |
$39.90 |
Bluetooth Bee |
TEL0023 |
$26.00 |
IO Expansion Shield For Arduino(V5) |
DFR0088 |
$18.00 |
HKBRAM — без страховки (вес 235.00 г): |
$7.00 |
|
Итого: |
$107.90 |
Побаловался и забросил. Вчера вечером попался сей девайс на глаза, а рядом ключи с «таблеткой» от домофона. Вот и решил попробовать считать данные из него. Работает он по интерфейсу 1-Wire (который согласно описанию панды «available on any IO»)
Расписывать его работу не буду, кому интересно можно прочесть здесь
Для работы нам понадобится спаять/скрутить вот такую схемку:
![подтягивающий резистор](https://habrastorage.org/storage2/e41/4f8/b73/e414f8b734e707ba0009ec0315ad252f.jpg)
![пруф](https://habrastorage.org/storage2/94e/e39/dc7/94ee39dc7feb15eac7c990e2ee155c14.jpg)
Код приложения выглядит так:
using System;
using System.Threading;
using Microsoft.SPOT;
using Microsoft.SPOT.Hardware;
using GHIElectronics.NETMF.FEZ;
using GHIElectronics.NETMF.Hardware;
namespace iButton
{
public class Program
{
static OneWire ow = new OneWire((Cpu.Pin)FEZ_Pin.Digital.Di4);
static OutputPort led = new OutputPort((Cpu.Pin)FEZ_Pin.Digital.LED, false);
public static void Main()
{
bool ledState = false;
while (true)
{
byte[] readall = new byte[8];
if (ow.Search_GetNextDevice(readall))
{
string hex = ByteArrayToString(readall);
Debug.Print("========================");
if (readall[0] != 0x01)
{
Debug.Print("Device is not a DS1990A family device.");
}
Debug.Print(hex);
for (int i = 0; i < 6; i++)
{
Thread.Sleep(200);
ledState = !ledState;
led.Write(ledState);
}
}
}
}
public static string ByteArrayToString(byte[] ba)
{
string hex = string.Empty;
for (int i = ba.Length - 1; i >= 0; i--)
{
hex += " " + ByteToHex(ba[i]);
}
return hex;
}
public static string ByteToHex(byte b)
{
const string hex = "0123456789ABCDEF";
int lowNibble = b & 0x0F;
int highNibble = (b & 0x0F0) >> 4;
string s = new string(new char[] { hex[highNibble], hex[lowNibble] });
return s;
}
}
}
* This source code was highlighted with Source Code Highlighter.
Если в ближайшее время куплю пустой ключ то попробую его запрограммировать имеющимися данными.