# zbook (노트북의 종류)- https://www.hp.com/kr-ko/workstations/zbook-fury.html
- 인텔 제온 CPU, 고성능 NVIDIA RTX GPU 등 최고 사양의 부품을 탑재하여 복잡한 연산과 렌더링 작업에 최적화되어 있습니다.
- 사용 목적에 따라 극한의 성능을 제공하는 Fury부터, 휴대성을 강조한 Firefly, Studio 등 다양한 모델을 선택할 수 있습니다.
- 일반 PC보다 뛰어난 성능과 안정성을 제공하며, ECC 램 지원 등 전문가 수준의 기능을 갖추고 있습니다.
- 기업용 노트북답게 강력한 보안 기능과 안정성을 갖추고 있어 업무 환경에 적합합니다.
- 가장 높은 사양의 CPU와 GPU를 장착한 하이엔드 워크스테이션 노트북으로, 복잡한 3D 렌더링, VR, 대규모 데이터 처리 등에 특화되어 있습니다.
- 얇고 가벼운 폼팩터의 경량 워크스테이션으로, 휴대성과 성능의 균형을 맞춘 모델입니다.
- 고성능과 휴대성을 모두 갖춘 균형 잡힌 모델로, 다양한 고부하 작업에 활용할 수 있습니다.
- 최신 기술과 친환경 소재를 적용한 초슬림 모바일 워크스테이션으로, 가벼운 무게와 휴대성을 강조한 제품입니다.
- 최신 AI 프로세서와 고성능 그래픽을 탑재한 초슬림 모바일 워크스테이션으로, AI 작업 등 최첨단 기술 워크로드를 처리하는 데 적합합니다.
CAN 통신 실습///https://www.python.org/downloads/
PEAK-System_Driver-Setup /////
- Go to the PEAK-System website and download the latest Device Driver Setup package.
- Extract the contents of the downloaded ZIP file, such as
PEAK-System_Driver-Setup.zip. - Locate and double-click the executable file, typically named
PeakOemDrv.exe, to launch the driver setup program. - Complete the installation by following the prompts and instructions provided by the setup wizard.
- After the software installation, connect your PEAK CAN interface to a USB port on your computer.
- Windows should detect the new hardware and finish the driver installation.
- Open the PEAK Settings tool from the Start menu to ensure your CAN interface is displayed and functioning correctly.
- PeakOemDrv.exe: The executable file that starts the driver installation process.
- PEAK Settings: A tool to manage installed drivers, hardware, and API configurations.
- PCAN-View: A utility included with the installation to view and interact with the CAN bus.
- PCAN-Basic: An API that allows Windows applications to connect to the CAN bus.
# https://www.python.org/downloads/release/python-31211/
001. 소스코드 // https://www.python.org/downloads/source/
import can
channels = can.detect_available_configs(interfaces='pcan')
print("Available CAN channels:")
for channel in channels:
print(f"- {channel}")
--------------------------------------------------------------------------------------------------
> python can_list.py
Avatlapin CN Chann
Interface
pran
Chamel
---------------------------------------------------------------------
Transmitting and Receiving a message
import can import time
can_bus can.Bus (interface='pcan', channel='PCAN_USBBUS2', bitrate=1000000)
can_msg = can.Message(arbitration_id=0x123, data=[0, 25, 0, 1, 3, 1, 4, 1], is_extended_id=False)
while True:
try:
can_bus.send(can_msg)
print (f"Message sent: {can_msg}")
except can.CanError:
print("Message NOT sent")
time.sleep(1)
import can
can_bus can.Bus(interface='pcan', channel='PCAN_USBBUS1', bitrate=1000000)
while True:
can_msg = can_bus.recv()
if can_msg:
print(f"Message received: {can_msg}")
CAN 통신 실습
Transmitting and Receiving a message
import can
import time
can_bus can. Bus(interface='pcan', channel='PCAN_USBBUS2', bitrate=1000000)
can_msg = can.Message(arbitration_id=0x123, data=[0, 25, 0, 1, 3, 1, 4, 1], is_extended_id=False)
while True:
try:
can_bus.send(can_msg)
print(f"Message sent: {can_msg}")
except can.CanError:
print("Message NOT sent")
time.sleep(1)
import can
can_bus = can.Bus(interface='pcan', channel='PCAN_USBBUS1', bitrate=1000000)
for can_msg in can_bus:
print(f"Message received: {can_msg}")
CAN 통신 실습
Transmitting multiple messages
import can import time
can msgs = [
can.Message(arbitration_id=0x101, data=[0x01, 0x02, 0x03, 0x04], is_extended_id=True), can.Message(arbitration_id=0x102, data=[0x11, 0x12, 0x13, 0x14, 0x15], is_extended_id=False),
can.Message(arbitration_id=0x103, data=[0x21, 0x22, 0x23, 0x24, 0x25, 0x26], is_extended_id=False),
CAN 통신 실습
can_bus = can.Bus(interface='pcan', channel='PCAN_USBBUS2', bitrate=1000000)
while True:
for can msg in can_msgs:
try:
can_bus.send(can_msg)
print(f"Message sent: {can_msg}")
except can.CanError:
print("Message NOT sent")
time.sleep(0.1)
Transmitting multiple messages with signal attributes
Import can
import cantinels
import time
Import random
can bus can. Bus (Interfaces pcan', channel='PCAR USBBUSZ", bitrate=1000000)
can db cantools.database, load file('project.dbc")
messages to send [message for message in can db.messages if 'ECU1" in message.sender's]
CAN 통신 실습
while True:
for eso in messages to send:
data()
for sig in asg.signals:
sig info(
'name': sig.name, 'start'; sig.start, 'length': sig.length, byte order': 'Little_endian' if sig.byte order 'little endian' else 'big_endian',
'minimum': sig.minimum, 'maximum': sig.maximum
print(f"Signal: (sig_info)")
Transmitting multiple messages with signal attributes
value random.randint(sig.minimum or 8, sig.maximum or (2**sig.length-1))
data[sig.name] = value
can_msg = can.Message(arbitration_id=msg.frame_id, data=msg.encode(data), is_extended_id=False)
try:
can_bus.send(can_msg)
print("Message sent: (can_msg]")
except can.CanError:
print("Message NOT sent")
time.sleep(0.1)
CAN 통신 실습
CAN Communication Hands-on-Training with python-can
Python PCAN-USB를 이용한 can 통신 환경
python-can 라이브러리 개요
Listing available CAN channels
Transmitting and Receiving a message
Transmitting multiple messages
Transmitting multiple messages in doc file
Transmitting multiple messages with cycle time in dbc file
Transmitting multiple messages via threads
Transmitting multiple messages via periodic send
Receiving messages with filters
Transmitting and Receiving messages together
Python과 PCAN-USB를 이용한 can 통신 환경
PEAK System PCAN-USB 2개를 1003 케이블로 서로 연결 후 PC에 연결
Technical specifications of PCAN-USB
Adapter for the USB connection (Full-Speed mode, compatible with USB 1.1, USB 2.0, and USB 3.0)
High-speed CAN connection (ISO 11898-2)
Bit rates from 5 kbit/s up to 1 Mbit/s
Time stamp resolution approx. 42 με
Compliant with CAN specifications 2.0A (11-bit ID) and 2.08 (29-bit (D)
CAN bus connection via D-Sub, 9-pin (in accordance with CIA 106)
NXP SJA1000 CAN controller, 16 MHz clock frequency
Galvanic isolation on the CAN connection up to 500 V (only for IPEH-002022)
CAN termination can be activated through a solder jumper
5-Volt supply to the CAN connection can be connected through a solder jumper, e.g. for external bus converter
Voltage supply via USB
Extended operating temperature range from -40 to +85 °C (-40 to +185 °F)
- 파이썬 코드를 작성하고, 디버깅하며, 실행하는 데 필요한 모든 도구를 한 곳에서 제공합니다.
- 파이썬 코드를 한 줄씩 입력하고 즉시 실행 결과를 확인할 수 있는 대화형 인터프리터 창입니다.
- 여러 줄의 파이썬 코드를 한 번에 작성하고 저장할 수 있는 창입니다.
- 작성 중인 코드를 더 쉽게 이해할 수 있도록 키워드, 문자열 등을 다른 색으로 표시하며, 들여쓰기를 자동으로 맞춰줍니다.
- 함수나 메소드를 사용할 때 인자 정보 등을 팁으로 제공하여 편리함을 더합니다.
- 윈도우, macOS 등 다양한 운영체제에서 거의 동일하게 작동합니다.
- 시작 메뉴에서
IDLE을 검색하여 실행하거나, 파이썬 설치 경로에서 `IDLE (Python 3.x)`을 찾아 실행할 수 있습니다. - Spotlight 검색 또는 애플리케이션 폴더에서
IDLE을 찾아 실행합니다
Setting the data types
Example
Comments
Data type
x = "Hello World"
x = 20
x = 20.5
x = 4 + 1j
Ordered, changeable, indexed, and allow duplicates
x = ["apple", "banana", "cherry"]
Ordered, unchangeable
List
x = ("apple", "banana", "cherry")
Ordered, changeable, and not allow duplicates Unordered, unchangeable, and unindexed
CAN 통신 실습
x = range(6)
x = {"name": "John", "age": 36}
range
x = {"apple", "banana", "cherry"}
x = frozenset({"apple", "banana", "cherry"})
fronzenset
bool
x = True
bytes
x = b"Hello"
bytearray
x = bytearray(5)
memoryview
x = memoryview(bytes(5))
NoneType
x = None

댓글 없음:
댓글 쓰기