Please Note This forum exists for community support for the Mango product family and the Radix IoT Platform. Although Radix IoT employees participate in this forum from time to time, there is no guarantee of a response to anything posted here, nor can Radix IoT, LLC guarantee the accuracy of any information expressed or conveyed. Specific project questions from customers with active support contracts are asked to send requests to support@radixiot.com.
Raspberry PI and RFID
-
Hi,
I'm wanting to use the mango scada on a raspberry PI Does anyone know if there is a way to pull the data from something like this (http://wiki.seeed.cc/125Khz_RFID_module-UART/) into the scada?Regards
Billy -
Hi Billy,
Yes, quite possible. You could get started with a Serial Data Source. You'll need to identify the serial port, find the port settings in the device documentation (baud rate, parity, etc), and set up the regex to capture in incoming data.
Here's the JSON for my serial data source:
{ "dataSources":[ { "xid":"DS_0ff77d1f-0d36-4f36-bc2e-0227a4a01b05", "name":"RFID Test", "enabled":true, "type":"SERIAL", "alarmLevels":{ "POINT_READ_PATTERN_MISMATCH_EVENT":"URGENT", "POINT_WRITE_EXCEPTION":"URGENT", "DATA_SOURCE_EXCEPTION":"URGENT", "POINT_READ_EXCEPTION":"URGENT" }, "purgeType":"YEARS", "baudRate":9600, "commPortId":"COMM", "dataBits":8, "flowControlIn":0, "flowControlOut":0, "hex":true, "ioLogFileSizeMBytes":1.0, "logIO":false, "maxHistoricalIOLogs":1, "maxMessageSize":1024, "messageRegex":"()02.*", "messageTerminator":"03", "parity":0, "pointIdentifierIndex":1, "readTimeout":1000, "stopBits":1, "useTerminator":true, "editPermission":"", "purgeOverride":false, "purgePeriod":1 } ], "dataPoints":[ { "xid":"DP_8b4d3826-55aa-4586-bff0-bfcce63d4e31", "name":"Catch All", "enabled":true, "loggingType":"ON_CHANGE", "intervalLoggingPeriodType":"MINUTES", "intervalLoggingType":"INSTANT", "purgeType":"YEARS", "pointLocator":{ "dataType":"ALPHANUMERIC", "pointIdentifier":"", "valueIndex":0, "valueRegex":".*" }, "eventDetectors":[ ], "plotType":"STEP", "rollup":"NONE", "unit":"", "templateXid":"Alphanumeric_Default", "chartColour":"", "chartRenderer":{ "type":"TABLE", "limit":10 }, "dataSourceXid":"DS_0ff77d1f-0d36-4f36-bc2e-0227a4a01b05", "defaultCacheSize":1, "deviceName":"RFID Test", "discardExtremeValues":false, "discardHighLimit":1.7976931348623157E308, "discardLowLimit":-1.7976931348623157E308, "intervalLoggingPeriod":15, "intervalLoggingSampleWindowSize":0, "overrideIntervalLoggingSamples":false, "preventSetExtremeValues":false, "purgeOverride":false, "purgePeriod":1, "readPermission":"", "setExtremeHighLimit":1.7976931348623157E308, "setExtremeLowLimit":-1.7976931348623157E308, "setPermission":"", "textRenderer":{ "type":"PLAIN", "useUnitAsSuffix":true, "unit":"", "renderedUnit":"", "suffix":"" }, "tolerance":0.0 } ] }
COMM is a server socket virtual serial port I used for testing via:
echo -n -e "\x02\x30\x31\x30\x30\x30\x37\x33\x34\x45\x30\x44\x32\x03" | nc localhost 9000
So you'll need to select your comm port (probably something like /dev/ttyUSB0)
The "CatchAll" point in that JSON gets this value after that echo:
01000734E0D2
You can either refine the regex on the points on the serial data source to get value from that, or you can use a meta or scripting data source driven on context update to extract the values.