모바일 오유 바로가기
http://m.todayhumor.co.kr
분류 게시판
베스트
  • 베스트오브베스트
  • 베스트
  • 오늘의베스트
  • 유머
  • 유머자료
  • 유머글
  • 이야기
  • 자유
  • 고민
  • 연애
  • 결혼생활
  • 좋은글
  • 자랑
  • 공포
  • 멘붕
  • 사이다
  • 군대
  • 밀리터리
  • 미스터리
  • 술한잔
  • 오늘있잖아요
  • 투표인증
  • 새해
  • 이슈
  • 시사
  • 시사아카이브
  • 사회면
  • 사건사고
  • 생활
  • 패션
  • 패션착샷
  • 아동패션착샷
  • 뷰티
  • 인테리어
  • DIY
  • 요리
  • 커피&차
  • 육아
  • 법률
  • 동물
  • 지식
  • 취업정보
  • 식물
  • 다이어트
  • 의료
  • 영어
  • 맛집
  • 추천사이트
  • 해외직구
  • 취미
  • 사진
  • 사진강좌
  • 카메라
  • 만화
  • 애니메이션
  • 포니
  • 자전거
  • 자동차
  • 여행
  • 바이크
  • 민물낚시
  • 바다낚시
  • 장난감
  • 그림판
  • 학술
  • 경제
  • 역사
  • 예술
  • 과학
  • 철학
  • 심리학
  • 방송연예
  • 연예
  • 음악
  • 음악찾기
  • 악기
  • 음향기기
  • 영화
  • 다큐멘터리
  • 국내드라마
  • 해외드라마
  • 예능
  • 팟케스트
  • 방송프로그램
  • 무한도전
  • 더지니어스
  • 개그콘서트
  • 런닝맨
  • 나가수
  • 디지털
  • 컴퓨터
  • 프로그래머
  • IT
  • 안티바이러스
  • 애플
  • 안드로이드
  • 스마트폰
  • 윈도우폰
  • 심비안
  • 스포츠
  • 스포츠
  • 축구
  • 야구
  • 농구
  • 바둑
  • 야구팀
  • 삼성
  • 두산
  • NC
  • 넥센
  • 한화
  • SK
  • 기아
  • 롯데
  • LG
  • KT
  • 메이저리그
  • 일본프로야구리그
  • 게임1
  • 플래시게임
  • 게임토론방
  • 엑스박스
  • 플레이스테이션
  • 닌텐도
  • 모바일게임
  • 게임2
  • 던전앤파이터
  • 마비노기
  • 마비노기영웅전
  • 하스스톤
  • 히어로즈오브더스톰
  • gta5
  • 디아블로
  • 디아블로2
  • 피파온라인2
  • 피파온라인3
  • 워크래프트
  • 월드오브워크래프트
  • 밀리언아서
  • 월드오브탱크
  • 블레이드앤소울
  • 검은사막
  • 스타크래프트
  • 스타크래프트2
  • 베틀필드3
  • 마인크래프트
  • 데이즈
  • 문명
  • 서든어택
  • 테라
  • 아이온
  • 심시티5
  • 프리스타일풋볼
  • 스페셜포스
  • 사이퍼즈
  • 도타2
  • 메이플스토리1
  • 메이플스토리2
  • 오버워치
  • 오버워치그룹모집
  • 포켓몬고
  • 파이널판타지14
  • 배틀그라운드
  • 기타
  • 종교
  • 단어장
  • 자료창고
  • 운영
  • 공지사항
  • 오유운영
  • 게시판신청
  • 보류
  • 임시게시판
  • 메르스
  • 세월호
  • 원전사고
  • 2016리오올림픽
  • 2018평창올림픽
  • 코로나19
  • 2020도쿄올림픽
  • 게시판찾기
  • 오유인페이지
    개인차단 상태
    싱그러운햇살님의
    개인페이지입니다
    가입 : 23-06-15
    방문 : 2회
    닉네임변경 이력
    회원차단
    회원차단해제
    게시물ID : programmer_23407
    작성자 : 싱그러운햇살
    추천 : 1
    조회수 : 1767
    IP : 14.36.***.109
    댓글 : 3개
    등록시간 : 2023/06/17 17:18:10
    http://todayhumor.com/?programmer_23407 모바일
    라즈베리파이 파이썬코드에 while문 썼는데 동작을 안해요
    frompythonosc.osc_serverimportAsyncIOOSCUDPServer
    frompythonosc.udp_clientimportSimpleUDPClient
    frompythonosc.dispatcherimportDispatcher
    importRPi.GPIOasGPIO
    importdatetime
    importasyncio
    # import orjson
    importtime


    SWITCHES= [13, 19, 29, 33, 40]
    RELAY= [11, 12, 15, 16]
    STATUS= {'s0': 0, 's1': 0, 's2': 0, 's3': 0, 's4': 0, 'r0': 0, 'r1': 0, 'r2': 0, 'r3': 0}
    # STATUS_LIST = [0, 0, 0, 0, 0, 0, 0, 0, 0, 0] # s0-4, r0-3
    SERVER_IP='192.168.1.136'
    SERVER_PORT=1234
    client=SimpleUDPClient(SERVER_IP, SERVER_PORT)
    PRINT=''
    VAR=0

    defrelay_handler(addr, args):
        print(f"{addr}, {args}")
        relay(args)
        print(STATUS)
        # client.send_message('/switch', list(STATUS.values()))
        return

    defdefault_handler(addr, *args):
        print(f"{addr}, {args}")
        return

    deftoggle(channel):
        ifGPIO.input(channel) ==GPIO.HIGH:
            STATUS[f's{SWITCHES.index(channel)}'] =0
            # STATUS_LIST[SWITCHES.index(channel)] = 0
        elifGPIO.input(channel) ==GPIO.LOW:
            STATUS[f's{SWITCHES.index(channel)}'] =1
            # STATUS_LIST[SWITCHES.index(channel)] = 1
        else:
            STATUS[f's{SWITCHES.index(channel)}'] =2

        PRINT=str(SWITCHES.index(channel))
        VAR=str(STATUS[f's{SWITCHES.index(channel)}'])

        print(STATUS)
        # client.send_message('/switch', STATUS)
        # client.send_message('/switch', list(STATUS.values()))
        # client.send_message('/switch', 's'+ str(SWITCHES.index(channel))+str(STATUS[f's{SWITCHES.index(channel)}']))
        # client.send_message('/switch', 's'+ str(SWITCHES.index(channel)))
        client.send_message('/switch', 's'+PRINT+VAR)

        # time.sleep(1)


        return


    definitialize():
        GPIO.setmode(GPIO.BOARD)
        GPIO.setup(SWITCHES, GPIO.IN, pull_up_down=GPIO.PUD_UP)
       

        GPIO.setup(RELAY, GPIO.OUT)
        GPIO.output(RELAY, GPIO.HIGH) # turn it off
        forSWITCHinSWITCHES:
            GPIO.add_event_detect(SWITCH, GPIO.RISING, callback=toggle, bouncetime=200)


        return



    defrelay(args):
        try:
            index, action=args.split('_')
        except:
            print('WRONG MESSAGE')
            return
        index=int(index[-1])
        iff'r{index}'inSTATUS:
            ifaction=='0':
                STATUS[f'r{index}'] =0
                # STATUS_LIST[SWITCHES.index(f'r{index}')] = 0
                GPIO.output(RELAY[index], GPIO.HIGH)
            elifaction=='1':
                STATUS[f'r{index}'] =1
                # STATUS_LIST[SWITCHES.index(f'r{index}')] = 1
                GPIO.output(RELAY[index], GPIO.LOW)
            else:
                pass
        return


    asyncdefloop():
        """Example main loop that only runs for 10 iterations before finishing"""
        whileTrue:
            client.send_message('/allswitch', list(STATUS.values()))
            awaitasyncio.sleep(0)
           



    asyncdefinit_main():
        try:
            print('Start Switch')
            initialize()
            dispatcher=Dispatcher()
            dispatcher.map('/relay', relay_handler)
            dispatcher.set_default_handler(default_handler)
            server=AsyncIOOSCUDPServer(('0.0.0.0', 1337), dispatcher, asyncio.get_event_loop())

            transport, protocol=awaitserver.create_serve_endpoint()  # Create datagram endpoint and start serving
            awaitloop()  # Enter main loop of program

        finally:
            GPIO.cleanup()
            print('Finishing')
            transport.close()  # Clean up serve endpoint



    asyncio.run(init_main())


    whileTrue:
        client.send_message('/allswitch', list(STATUS.values()))
     
     
    여기 끝에 반복문 달았는데요
    그럼 컴퓨터 서버로 스위치의 상태가 리스트형태로 계속 와야하는데
    오질 않아서요..
     
    while True:
    client.send_message~~
     
    이부분을 어디에 넣어야 반복문이 돌아갈까요?

     

    이 게시물을 추천한 분들의 목록입니다.
    [1] 2023/06/17 22:28:24  222.96.***.31  도라온요플레  802826
    푸르딩딩:추천수 3이상 댓글은 배경색이 바뀝니다.
    (단,비공감수가 추천수의 1/3 초과시 해당없음)

    죄송합니다. 댓글 작성은 회원만 가능합니다.

    번호 제 목 이름 날짜 조회 추천
    라즈베리파이 파이썬코드에 while문 썼는데 동작을 안해요 [3] 싱그러운햇살 23/06/17 17:18 180 1
    1
    라즈베리파이, 스위치 하나 누르면 다른 스위치들도 반응해요 [3] 싱그러운햇살 23/06/15 22:39 221 1
    [1]
    단축키 운영진에게 바란다(삭제요청/제안) 운영게 게시판신청 자료창고 보류 개인정보취급방침 청소년보호정책 모바일홈