Step one in my Python coding adventure
In my first post regarding my Python adventure, I shared how I wanted
to use python coding in the shack. As my readers know I am an avid CW
contester and before a contest begins I have 5 programs that need to be
launched. The issue is if I launch them out of order or if one program has an issue things get all
screwed up, and I have to start all over again. In doing so, most of the
time I need to go into some programs and reconnect some com ports and
clear lots of error messages. My first Python project will be one
double-click on a desktop icon that will get all my contest stuff up and
running smoothly in the right order.
The approach I am using is
to write python code to start each individual program. Then save those in a file. This will get my whistle wet with python coding, both
with success and some head scratching. At this point I have coded out
most of my programs so they start. Once that is fully completed, it will
be grouping them all together into one process.
In a nutshell, here is the plan:
– Turn on a Wi-Fi plug which powers on my power supply and Pi4B power supply
– Start my VSPE virtual com port program and minimize it.
– Start my Wn4icom program which also starts my Icom 7610 radio.
– Start my N1MM contest software.
–
Then finally Firefox will start, open Reverse Beacon Network, log me
in, set up search for my call and set it to refresh my call sign spots
every 10 minutes.
Lets take a fast look at the python coding for the WiFi plug.
import asyncio
from kasa import SmartPlug
async def main():
plug = SmartPlug(“10.0.0.71”) # Replace with your plug’s IP address
await plug.update()
await plug.turn_on()
print(“Plug turned on”
asyncio.run(main())
For the Kasa smart WiFi plug by TP link to work I had to first download into python the kasa library. I opened up python and entered the code below…well actually cut and paste.
pip install python-kasa
Now below in a nut shell is what the code is all about for the Kasa WiFi plug to turn on.
1. Python loads the needed modules. (asyncio and SmartPlug)
2. Program defines async functions or in English connecting to the wifi plug could take time and this allows things not to freeze if the process takes time.
So now modules are loaded and it knows some actions could take time.
3. Now asyncio.run(main()) runs and this is what happens.
Smart plug is created for IP address 10.0.071
The plugs state is defined (on or off)
The plug is turned on via network command
A message printed in python code window “plug turned on”
Program closes.
In closing I am not by any means a pythonista regarding code and I am sure many who are can poke holes in the coding or what I left out regarding what to explain. This is my first attempt at this game and I was actually shocked that it worked. BUT your input will and always is welcomed.
Next post is about the learning curve, hiccups and added lines of code for smoothness and reliable start up.














Python in the hamshack, I am all ears and eyes on this one!
Keep going, I have been wanting to do the same thing for years so I really appreciate you breaking the ground on this so I can understand it better.
I am working with Ubuntu 25.10.
Kd0uuu
Good evening Tim, I am having a great time and soon will be posting again about my adventures. If you have any question as we go along please post them.
73,
Mike
VE9KK