Skip to content

Instantly share code, notes, and snippets.

View tomasinouk's full-sized avatar

Tomas Blaha tomasinouk

View GitHub Profile
tomasinouk /
Created October 26, 2023 05:29
Implementing SMS commands from multiple phone numbers and notifications to multiple phone numbers for Advantech cellular routers such as ICR-3232, ICR-2432, etc.
BIN0_TEXT_OUT_OFF="OUT_0 is set to 1"
BIN0_TEXT_OUT_ON="OUT_0 is set to 0"
for i in $PHONE1 $PHONE2; do
logger -t "SMS_COMMAND" "Have these phone no $i"

I have done this on Challenger LTE board link, which is RP2040 based.

You need to enable data serial at boot (, this is disabled by default. When the board boots you need to run file the program.

Your computer will report new COM/Serial port. Use that to talk with the device connected to uart of the CircuitPython board.

Create files on CIRCUITPY


tomasinouk /
Created January 8, 2022 04:32
Testing communication with SARA R410M on iLab Challenger Board
import board
import busio
import digitalio
import time
uart = busio.UART(board.SARA_TX,board.SARA_RX,rts=board.SARA_RTS, cts=board.SARA_CTS, baudrate=115200,timeout=5)
tomasinouk / tabbed-description.liquid
Created June 26, 2019 05:04 — forked from tairli/tabbed-description.liquid
Tabbed Product description snippet for Shopify
{% comment %}
if combine_pretext is false, the text before the first <h6> will be shown above all tabs, otherwise added to the first tab
{% endcomment %}
{% assign combine_pretext = false %}
{% assign description = tabbed-description | default: product.description %}
{% if description contains "<h6>" %}
{% assign tab_heads = '' %}
{% assign tab_texts = '' %}
{% assign pretext = '' %}
tomasinouk /
Created March 28, 2018 04:06
Reset PoE if ping fails on SmartFlex - PoE unit
# created by Tomas Blaha - Dureco
# script check camera IP via ping every 30s
# if cannot ping it turn Off/On PoE for this camera only
# it does not cycle PoE on second PoE port
while true
ping -c 1 $CAMERA_PING
tomasinouk /
Last active October 11, 2022 08:39

To implement Cross-Origin Resource Sharing (CORS) on OpenWRT within Luci is actually simple.

After very long search, I have found code in uHTTPd on gitlab, which clearly shows option for CORS. I haven't found anything, which would describe how to actually configure it.

There is nothing in uHTTPd documentation describing this functionally, /etc/config/uhttpd does not mention anything either.

Luckily, you can have a look into how the process is starting and what parameters is checking.


tomasinouk / SmartWorkx,
Created October 27, 2016 22:43
Script for SmartWorkx, Conel routers to check connection against 2 IP addresses. Good solution, to engage failover after both servers are not reachable.

Here is the start-up script, which in effect does check of 2 IP addresses

# This script will be executed when PPP/WAN connection is established.
# Script for checking connection by two ping ip addresses
# Put checking ip addresses

Script reads BIN0 (binary input 0) on the Conel, SmartWorkx router and displaying it in a console. Can be looged in systemlog as well. Little modification can be done to log it into the file, in CSV format.



while true
tomasinouk /
Created June 23, 2016 06:17
recursively search for files in directories and copy them to new location with modified name
import shutil
import os
import re
source = os.walk("~/Downloads/camera/")
destination = "~/Downloads/mobotix-pic/"
# for files in source:
for root, dirs, files in source:
# print(files)
for _file in files: