Raspberry - Shell code for DS2413
-
I'am using the following shell command to get the 1Wire information values of a DS2413:
wget -qO- http://127.0.0.1:88/rest/sensor/28FFD200B4160313/value
I'am able to receive the A-IO and B-IO values with the upper command.
Please let me know if it is possible to the sent following code as well via wget to the DS2413, I would like to change the DS2413 Input to Output in order operate consumers with this chip.
echo -e '\x0' |sudo dd of=/sys/bus/w1/devices/3a-000000211837/output bs=1 count=1
(The '\x0' part should turn-on both outputs of the DS2413. Use '\x01' to turn on output 1 only, '\x02' to turn on output 2 only and '\x03' to turn them both off.)
I appreciate your assitance.
-
Hello @seecosmea,
as discussed here: https://forum.unipi.technology/topic/458/unipi-is-not-detecting-ds2413
You need to configure it in the evok.conf according to the example: https://github.com/UniPiTechnology/evok/blob/master/etc/evok-unipi1.1.conf#L247
-
Tks for your fast answer. I tried it really hard to follow your instructions but unfurtunalety without success.
I'am able to read IO/A and IO/B only; DS2413 as Input.
I have still the same problem that I can not change both Inputs to Outputs; I do not understand your instruction, Could you pls revert with an example and more detailed informations. Tks for your assistance in advance.
-
Could you post your evok.conf here?
You need to change the [1WINPUT_XYZ] to [1WRELAY_XYZ] for the appropriate pin. There are examples of both 1WINPUT and 1WRELAY in the configuration file.
-
[MAIN] config_version = 2.4 use_experimental_api = False ; Currently in Alpha - known issues regenerate_api_docs = False ; Active only with the experimental API setting log_level = ERROR ; One of INFO, DEBUG, WARNING, ERROR, CRITICAL log_file = /var/log/evok.log ; Log file to use; will be cleared on boot port = 8080 ; !!! Internal API port - only change if you are certain you know what you are doing; FOR OUR WEB INTERFACE THE PORT SHOULD BE CHANGED IN "/etc/evok-nginx.conf" INSTEAD !!! ;modbus_port = 0 ;modbus_address = * webhook_enabled = False ; Enables webhook notification - see e.g. https://sendgrid.com/blog/whats-webhook/ webhook_address = http://127.0.0.1:80 ; Put your server endpoint address here (e.g. http://123.123.123.123:/wh ) webhook_device_mask = ["input","wd"] ; List of device types to notify on (written as a JSON list) - adding AI will generate a large amount of messages! webhook_complex_events = False ; EVOK will send POST requests with the same data as WebSocket, rather than an empty GET request wifi_control_enabled = False ; !!! REQUIRES THE UNIPIAP WIFI CONTROLLER TO BE INSTALLED !!! Will allow evok to control the internal Neuron wifi soap_server_enabled = False ; Enables the simple SOAP server; use only if you need the functionality soap_server_port = 8081 ; !!! IF SOAP SERVER IS ENABLED, THIS PORT NEEDS TO BE UNIQUE (i.e. different from the port setting above) !!! [OWBUS_1] owbus = --i2c=/dev/i2c-1:ALL ; scanned bus (--i2c=/dev/i2c-1:ALL or localhost:2122 or 'u' for USB dongle) interval = 3 ; [s] default sensor reading scan_interval = 300 ; [s] how often is made searching ;[SENSOR_1] ; onewire thermometer ;bus = 1 ; link to OWBUS_X ;address = 28527B930500001F ;type = DS18B20 ;interval = 1 [I2CBUS_1] busid = 1 ;[integer] id of bus /dev/i2c-X ;[EPROM_1] ;EPROM device will not be used anymore, eprom should be handled by kernel module ;i2cbus = 1 ;address = 0x50 ;size = 256 [MCP_1] i2cbus = 1 ; link to I2CBUS_X address = 0x20 ; i2c address [RELAY_1] mcp = 1 ; link to MCP_X pin = 7 [RELAY_2] mcp = 1 ; link to MCP_X pin = 6 [RELAY_3] mcp = 1 pin = 5 [RELAY_4] mcp = 1 pin = 4 [RELAY_5] mcp = 1 pin = 3 [RELAY_6] mcp = 1 pin = 2 [RELAY_7] mcp = 1 pin = 1 [RELAY_8] mcp = 1 pin = 0 ;[AICHIP_1] ;i2cbus =1 ;address = 0x68 ;[AI_1] ;chip=1 ;channel=0 ;bits=18 ;gain=1 ;;correction = 5.558737622 ;;correction = 5.564920867 ;corr_rom = 1 ;corr_addr = 0xf0 ;interval=2 ;[AI_2] ;chip=1 ;channel=1 ;bits=18 ;gain=1 ;;correction = 5.558737622 ;;correction = 5.564920867 ;corr_rom = 1 ;corr_addr = 0xf4 ;interval=1 [GPIOBUS_1] [AO_1] gpiobus = 1 frequency = 100 [DI_1] gpiobus = 1 pin=4 debounce = 0 ;Enable counting on rising/falling edge or disable it ;By default(or parameter not present) this function is disabled ;Can be turned on on all on-board digital inputs (not inputs on 1Wire or other extensions) ;counter_mode = rising ;counter_mode = falling ;counter_mode = disabled [DI_2] gpiobus = 1 pin=17 debounce = 0 [DI_3] gpiobus = 1 pin=27 debounce = 0 [DI_4] gpiobus = 1 pin=23 debounce = 0 [DI_5] gpiobus = 1 pin=22 debounce = 0 [DI_6] gpiobus = 1 pin=24 debounce = 0 [DI_7] gpiobus = 1 pin=11 debounce = 0 [DI_8] gpiobus = 1 pin=7 debounce = 0 [DI_9] gpiobus = 1 pin=8 debounce = 0 [DI_10] gpiobus = 1 pin=9 debounce = 0 [DI_11] gpiobus = 1 pin=25 debounce = 0 [DI_12] gpiobus = 1 pin=10 debounce = 0 ;[DI_13] ;gpiobus = 1 ;pin=31 ;debounce = 0 ;[DI_14] ;gpiobus = 1 ;pin=30 ;debounce = 0 ; ;Example of 8xRelay extension module addon (EMO-R8) on address 0x21 ; ;[MCP_2] ;i2cbus = 1 ;address = 0x21 ;[RELAY_9] ;mcp = 2 ;pin = 7 ;[RELAY_10] ;mcp = 2 ;pin = 6 ;[RELAY_11] ;mcp = 2 ;pin = 5 ;[RELAY_12] ;mcp = 2 ;pin = 4 ;[RELAY_13] ;mcp = 2 ;pin = 3 ;[RELAY_14] ;mcp = 2 ;pin = 2 ;[RELAY_15] ;mcp = 2 ;pin = 1 ;[RELAY_16] ;mcp = 2 ;pin = 0 ; ;Example of Analog Output extension module EMO-Ao4/12 ; ;[PCA9685_1] ;i2cbus = 1 ;address = 0x40 ;frequency = 400 ; ;[AO_2] ;pca = 1 ;channel = 0 ; ;[AO_3] ;pca = 1 ;channel = 1 ; ;[AO_4] ;pca = 1 ;channel = 2 ; ;[AO_5] ;pca = 1 ;channel = 3 ;Example of 1W-4R/4DI extension module, 1W-8R is almost the same just replace inputs with relays ; ; - First map a new 1Wire sensor with appropriate address, type, and interval ; - Can use both SENSOR or 1WDEVICE syntax ; - Reading interval is crucial to achieve expected performance, default interval is 15s ; ;[1WDEVICE_2] ;bus = 1 ;address = 29F39A17000000BC ;type = DS2408 ;interval = 1 ; ;[1WRELAY_10] ;sensor = 2 ;pin = 0 ; ;[1WRELAY_11] ;sensor = 2 ;pin = 1 ; ;[1WRELAY_12] ;sensor = 2 ;pin = 2 ; ;[1WRELAY_13] ;sensor = 2 ;pin = 3 ; ;[1WINPUT_20] ;sensor = 2 ;pin = 4 ; ;[1WINPUT_21] ;sensor = 2 ;pin = 5 ; ;[1WINPUT_22] ;sensor = 2 ;pin = 6 ; ;[1WINPUT_23] ;sensor = 2 ;pin = 7
-
pls find my DS2413 details below:
{"value": null, "typ": "DS2413", "circuit": "3AFF60340000009E", "dev": "1wdevice", "address": "3AFF60340000009E"}
-
@seecosmea Why dont you modify your config as shown in the example?
[1WDEVICE_2] bus = 1 address = 3AFF60340000009E type = DS2413 interval = 1 [1WRELAY_10] sensor = 2 pin = 0
an so on...??
-
Thanks a lot :) !! Greeting from Shanghai