• Recent
    • Tags
    • Popular
    • Register
    • Login

    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.

    Radix IoT Website Mango 3 Documentation Website Mango 4 Documentation Website Mango 5 Documentation Website

    Raspberry PI and RFID

    Hardware
    2
    2
    1.4k
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • B
      Bhanner
      last edited by

      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

      1 Reply Last reply Reply Quote 0
      • phildunlapP
        phildunlap
        last edited by

        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.

        1 Reply Last reply Reply Quote 0
        • First post
          Last post