Korábbi cikkünkben létrehoztunk kommunikációr két CAN-ECU között, az adatforgalmat az Arduino IDE Serial Monitor-án követtük nyomon. Most megnézzük azt, hogy hogyan lehet egy olyan alkalmazást készíteni, amelynek a segítségével a "Serial Monitor" elhagyható.
Először keressük meg azt a nyitott portot, amelyen keresztül csatlakozik a CAN-ECU-kból álló hálózatunkra a számítógépünk.
Indítsuk el a Visual Studio 2022 fejlesztőkörnyzetünket, és válasszuk ki a "Console Application" template-et, illetve a .NET6-ot. A "Program.cs" file-ba (tehát a "Program" osztályba) másoljuk be a következő programrészletet.
using System.IO.Ports;
Console.WriteLine("Hello, World!");
SerialPort sp = new SerialPort();
sp.BaudRate = 9600;
foreach (var item in SerialPort.GetPortNames())
{
Console.WriteLine(item);
}
Ahhoz, hogy megjelenítésre kerüljön a virtuális soros port neve, szükséges a "SerialPort" osztály alkalmazása, amely a "System.IO.Ports" névtérben található. Ebben az osztályban található meg a "GetPortNames()" metódus, amely visszaadja a nyitott portok listáját. Ez a lista egy olyan gyűjtemény, amely megvalósítja a "GetEnumerator()" metódust. A "GetPortNames()" metódusnak futtatásához nem kell a fent említett osztálynak a példányosítása, mert ez a metódus static.
Ahhoz, hogy kipróbáljuk ezt a programrészletet, megfelel a 9600 Baud. Futtassuk most debug üzemmódban az alkalmazásunkat, és a következő eredményt kapjuk (1. ábra).
1. ábra Futási eredmény
Látható, hogy a CAN hálózatunk a "COM4"-en keresztül csatlakozik a számítógépünk. (A "Hello, World!" a VS2022 által létrehozott projektből maradt meg.)
A következő cél az, hogy a forgalmat meg tudjuk jeleníteni a képernyőn, azaz a "Debug Console"-on.
Módosítsuk az alkalmazásunkat a következő prorgramrészlettel. Ami rögtön szembetúnik az az, hogy a programunk tartalmaz egy "sp.DataReceived" nevű eseményt, amely akkor aktivizálódik, amikor a CAN buszon változás (új adat) történik.
using System.IO.Ports;
Console.WriteLine("Hello, World!");
string portName = null;
SerialPort sp = new SerialPort();
sp.BaudRate = 9600;
foreach (var item in SerialPort.GetPortNames())
{
Console.WriteLine(item);
portName = item.ToString();
}
sp.PortName = portName;
try
{
sp.Open();
sp.DataReceived += Sp_DataReceived;
}
catch (Exception ex)
{
Console.WriteLine(ex.Message);
}
Console.ReadLine();
sp.Close();
void Sp_DataReceived(object sender, SerialDataReceivedEventArgs e)
{
string adat = sp.ReadLine();
Console.WriteLine(adat);
}
A módosított alkamazás futási eredménye látható a következő ábrán.
2. ábra Futási eredmény, megjelenítésre kerülnek a CAN buszon küldött értékek
Az nmap (grafikus megjelenítésnél a ZenMap) használata az IT biztonság, illetve az üzemeltetés területén dolgozó szakembereknél szinte elkerülhetetlen. Az ingyenes szoftver segítségével tesztelhetők a számítógépeink, a számítógéphálózatunk, vizsgálha. . . .
A Python programozási nyelv nagyon elterjedt a fejlesztők körében. Használják beágyazott rendszereknél, webes alkalmazásoknál, IT biztonság különböző területein, stb. Látható, hogy nagyon széles a felhasználási területe ennek a nyelvnek, ideje volt m. . . .
Bemutatjuk most a saját (!) Wifi-s hálózatunk tesztelésének az alapjait. Megnézzük, hogy hogyan lehet biztonságos jelszót választani. Feltörhetetlen rendszer nem létezik, de megismerve a tesztelés folyamatát, válaszokat kaphatunk arra vonatkozólag, h. . . .