Here is the Python 2.7.16 code I quickly put together to send unix time to the Arduino UNO.
I assume it also works on Python3, but I have not tested it because I have not completely upgrade python on my mac pro yet, sorry about that.
Code:
# -----------------------------------------------------------
# Sync Unix Time with Arduino Initial Draft 0.1
# Written on macOS, tested with Python 2.7.16
# Neo, December 2019
# This code needs refinement to be more general
# I will improve this code later when I need to use it in an Arduino project
# For now, it works "OK" and serves it purpose
# Feel free to improve, modify as you like.
# -----------------------------------------------------------
import serial
import time
ser = serial.Serial(
port='/dev/cu.usbserial-40', #change this for your device
baudrate=9600,
parity=serial.PARITY_NONE,
stopbits=serial.STOPBITS_ONE,
bytesize=serial.EIGHTBITS,
timeout=0)
print("connected to: " + ser.portstr)
# this will store the line
line = []
ux = 0
a = False
debugScript = False
offset = 2 . #adjust this time offset (in seconds) to account for various time delays in script and transferring via the serial port, etc. to insure the Arduino is in closer sync to the computer
time_int = 1000 # this can be any number greater than zero and less than recent unix time
count = 0
while True:
if debugScript:
print(str(int(time.time())))
for c in ser.read():
if not a:
if ux < time_int:
ser.write("T")
ux = int(time.time())+offset
ser.write(str(ux))
ser.write("\n")
ser.flush()
if debugScript:
print("unixtime: " + str(ux))
line.append(c)
count += 1
if c == '\n':
print("Line("+str(count)+"): " + ''.join(line))
x = int(time.time())+offset
print("time("+str(count)+"): " + str(x) + "\n")
line = []
a = True
break
ser.close()
I am assigned a programming work.It is my first time to use unix.
The task is writing a shell script to interrogate the university Unix operating system to determine the number of "Runnable" processes at any given time.Then append the result,along with a time-stamp,on a log file. Also there are... (1 Reply)
I have a list of interfaces and time the interface was last active. I can't figure out how to convert the time in the second column,
Fa1/14 0
Se0/0/0 0
Fa1/11 0
Fa1/9 0
Fa1/0 0
Se0/0/1 1240401408
Gi1/0 0
Fa0/0 1240401408
Fa1/3 0
Fa1/8 0
Fa1/15 0
Fa1/13 0
Fa1/10 0
Fa1/1 0
Fa1/12... (7 Replies)
Here is two time I have:
Jul 12 16:02:01
Jul 13 01:02:01
and how can I do a simple match to get difference between two time which is 09:00:00
Thanks in advance. (3 Replies)
I'd like to convert a date string in the form of sun aug 19 09:03:10 EDT 2012, to unixtime timestamp using awk.
I tried
This is how each line of the file looks like, different date and time in this format
Sun Aug 19 08:33:45 EDT 2012, user1(108.6.217.236) all: test on the 17th
... (2 Replies)
I needed some help in adding a duration (in seconds) to a start time (in hhmmss format) and a start date (in mmddyy format) in order to get an end date and end time. The concept of a leap year is also to be considered while incrementing the day. The code/ function that I have formed so far is as... (3 Replies)
Hi guys thanks for the help for my previous posts.Now i have a requirement that i download a XMl file which has UTC time stamp.I need to convert UTC time into Unix server timezone.
For ex if the time zone of unix server is CDT then i need to convert into CDT.whatever may be the system time... (5 Replies)
In my further exploration of Arduino, today I decided to install the arduino-cli on my mac today.
https://github.com/arduino/arduino-cli
I followed the instructions for macOS but when I got to this part:
arduino-cli board list
I got the dreaded "Unknown" Fully Qualified Board Name... (1 Reply)
Discussion started by: Neo
1 Replies
LEARN ABOUT DEBIAN
cyclades-devices
cyclades-devices(5)cyclades-devices(5)NAME
cyclades-devices - tables for driving cyclades-serial-client
DESCRIPTION
The cyclades-devices file supplies all mapping between Unix device files (/dev/*) and the addresses of serial ports of Cyclades Terminal
Servers. It contains one entry for each serial port, with the following format:
device:rastype:rasname:physport:type:options
Note: A # character at beginning of line indicates a comment
The entry fields are:
devname
- A full pathname of the file that will be associated to the serial port. It must start with a "/dev/" preffix. Two naming schemes
may be used here: - devname does not exist, and will be linked to a free pseudo-tty. This is the default behavior of cyclades-ser-
cli. - devname is the name of a valid slave pseudo-tty. In this case, the '-t 1' option must be assigned in options field. (Note:
this option is not supported by this release).
rastype
- Terminal Server type: - prts, for Cyclades Pr302X/TS Terminal Servers. - path, for Cyclades PathRAS Terminal Server.
rasname
- Host Name or IP Address of the Terminal Server where the serial port resides.
physport
- Number of physical port in the Terminal Server. If treated as the IP address associated with this port, in a IP-based addressing
scheme.
type - Server type that will be contacted to handle the serial port: - rtelnet, for Remote Telnet Server - socket, for Socket Server
options
- Per-port specific options, passed to cyclades-ser-cli program.
EXAMPLES
1. Device on a PR3020/TS Terminal Server pr3k Port 1, accessed through /dev/ctty01 device file name, using telnet protocol (remote telnet
server)
/dev/ctty01:prts:pr3k:1:rtelnet:
2. The same device, but with an IP address pr3k_port1 associated to the serial port (IP-based port addressing)
/dev/ctty01:prts:pr3k_port1:0:rtelnet:
3. Device on a PathRAS Terminal Server pr3k Port 2, accessed through /dev/ctty02 device file name, using socket protocol (socket server)
/dev/ctty02:path:pr3k:2:socket:
FILES
/etc/cyclades-devices This file
SEE ALSO cyclades-serial-client(1), cyclades-ser-cli(1)cyclades-devices(5)