프로그램 사용/snmp2025. 7. 29. 16:26

패키지 설치

$ sudo apt-get install snmpd

 

snmpd.conf 설정. 크게 두개만 변경했다.

위에는 localhost 대신 docker에서 돌아가는 녀석들을 위해 다 열어줬고,

rocommunity public을 하면 23440 라인이 읽히는데 반해 기본값은 47 라인만 읽힌다.

$ sudo vi /etc/snmp/snmpd.conf
 49 #agentaddress  127.0.0.1,[::1]
 50 agentaddress  0.0.0.0,[::1]

 72 #rocommunity  public default -V systemonly
 73 rocommunity  public

 

서비스 재기동

$ sudo systemcl restart snmpd

 

 읽어보기

$ snmpwalk -m all -v 2c -c public localhost

 

혹시 버전을 지정하지 않았다면 아래와 같이 securityName이 명시되지 않았다고 못 읽는다.

$ snmpwalk -m all -c public localhost 
snmpwalk: No securityName specified

 

libreNMS에 등록하니

아래와 같이 나오는데 굳이 번역(?)하면 "만의 부두에 앉아있는 중" 인가.

설정 파일에서 sysLocation에 기본으로 박혀있는 듯.

 18 sysLocation    Sitting on the Dock of the Bay
 19 sysContact     Me <me@example.org>

 

[링크 : https://freewings.tistory.com/76]

[링크 : https://wikidocs.net/269110]

'프로그램 사용 > snmp' 카테고리의 다른 글

zabbix docker 설치  (2) 2025.07.23
libreNMS on docker  (0) 2025.07.22
iptime snmp mib  (0) 2025.07.21
snmpbulkwalk  (0) 2025.07.21
libreNMS  (0) 2025.07.21
Posted by 구차니
embeded/Cortex-M3 STM2025. 7. 28. 15:12

몇개 참조했는데 그냥 결국에는 맨땅에 헤딩해서 대충 구현.. -_ㅠ

[링크 : https://blog.naver.com/eziya76/220988141146]

 

1. HAL_Flash_Program() 호출 전에 해당 섹터는 HAL_FlashEx_Erase()를 불러서 지워져 있는 상태여야 함

STM32Cubeprogrammer로 보면 전부 0xFFFFFF 라서 그냥 바로 쓰면 되겠네? 싶어서

HAL_Flash_Unlock() 이후 바로  HAL_Flash_Program() 호출해서 쓰니 Hard Fault 발생 -_-

찾아봐도 별 도움되는건 없어서, 결국에는 지우고 새로 쓰니 문제 없이 되었는데

[링크 : https://community.st.com/t5/stm32-mcus-products/hal-flash-program-triggers-hardfault-exception/td-p/684669]

 

다시 안지우고 쓰려고 하면 아까처럼 hard fault는 안뜨고

HAL_Flash_Program() 의 리턴값이 HAL_ERROR(1)로 뜰 뿐 문제가 없다. 머지?

 

 

아래는 쓰는데 성공한 예제

 

2. 섹터 지우는건 빠른데, 쓰는건 느리다(word)

아래 코드에서 32MHz로 작동중인데,

Erase는 2msec 이내로 끝났고

Write는 2048 Byte, 1 섹터를 가득 채우는건데 65 msec 미만으로 소요되었다.

tick1 1
tick2 64

 

3. 16bit 32bit write 속도가 다르다.

함수 호출 횟수 차이인진 모르겠으나 WORD 에서 HALFWORD로 바꾸고 쓰기 횟수를 2배로 늘려주니

    ret = HAL_FLASH_Program(FLASH_TYPEPROGRAM_HALFWORD, addr, data);


무려(?) 3msec가 느려졌다.

tick1 1
tick2 67

 

3. HAL_FLASH_Unlock() / HAL_FLASH_Lock()

플래시를 unlock 하지 않고 erase / program 하면 실제로 써지거나 지워지지 않지만 HAL_OK로 리턴된다.

이게 머야 -_-

 

소스코드

void flash_test()
{
  HAL_StatusTypeDef ret;
  uint32_t addr = FLASH_BASE + 0x0007F800;
  int data = 0;

  HAL_FLASH_Unlock();

  FLASH_EraseInitTypeDef eraseDef;
eraseDef.TypeErase = FLASH_TYPEERASE_PAGES;
eraseDef.Banks = 1;
eraseDef.PageAddress = 0x807F800;
eraseDef.NbPages = 1;

  uint32_t ret_era = 0;
  uint32_t tick = HAL_GetTick();
  HAL_FLASHEx_Erase(&eraseDef, &ret_era);
  uint32_t tick2 = HAL_GetTick();

  printf("tick1 %d\r\n",tick2-tick);

  tick = HAL_GetTick();
  for(int idx = 0; idx < 512; idx++)
  {
    ret = HAL_FLASH_Program(FLASH_TYPEPROGRAM_WORD, addr, data);
    if(ret != HAL_OK)
    {
      printf("ret[%x]\r\n", ret);
      break;
    }
    // else
    // {
    //   printf("%X [%X] ok\r\n", FLASH_BASE + addr * 4, data);
    // }

    addr += 4;
    data += 4;
  }
  tick2 = HAL_GetTick();
  printf("tick2 %d\r\n",tick2-tick);

  HAL_FLASH_Lock();
}

'embeded > Cortex-M3 STM' 카테고리의 다른 글

stm32cubeide build analyzer  (0) 2025.07.21
stm32 cubeide ioc gen  (0) 2025.06.18
stm32 uart tx dma  (0) 2025.06.18
stm32 pwm 주파수 계산  (0) 2025.06.05
stm32 timer로 gpio 토글하기  (0) 2025.06.05
Posted by 구차니

자전거 타기엔 살이 익어 버릴거에다가 탈진 올 것 같고

내 방에서 멀 하자니 에어컨도 안들어와서 선풍기로 몇번 튕겨와 들어와 더워서 못해먹겠고

잠만 자다가 하루가 훅훅 지나가니 아쉽기 그지 없다.

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

중문 수리  (0) 2025.07.23
다이소 투어  (1) 2025.07.20
호빵 맛집  (0) 2025.07.14
올리브 풀빌라  (0) 2025.07.13
가구 레일 교체  (0) 2025.07.12
Posted by 구차니

화요일에 왔는데 어제는 지쳐서 못하고

오늘 부랴부랴 수리 진행

 

완전 동일 품목은 아니고 호환이라고 하더니

높이가 약간 차이나는데 대신 커버가 필요없어 졌다.

 

부품명 : 재현하늘창 구형조절형V호차

단가 8천원 * 2 + 배송비 6천

 

흰색이 신품이고 회색 바퀴가 구형


구형이 박혀있는 모습. 약간의 단차가 프라스틱 으로 메꿔져서 외부에서 티가 안난다.

 

나사는 꽤나 길다. 가장 위에 구멍을 통해서 고정된다.

 

구형 바퀴 뽑은 모습. 우측의 프라스틱으로 막혀있었는데 뽑는건지 모르게 잘 가려져 있어서 조금 고생

신형을 넣었더니 딱 맞는다. 그리고 홀도 조금더 넓어졌는지 프라스틱으로 마감하려고 하니 헐거워서 바로 빠진다.

 

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

더워서 멀 못해먹겠네  (0) 2025.07.27
다이소 투어  (1) 2025.07.20
호빵 맛집  (0) 2025.07.14
올리브 풀빌라  (0) 2025.07.13
가구 레일 교체  (0) 2025.07.12
Posted by 구차니
개소리 왈왈/컴퓨터2025. 7. 23. 11:40

한참 우분투에서 ime랑 충돌이 나는지 백스페이스도 안 먹고 난리였는데

오늘 보니 업데이트 되었다고 해서 쓰는데 어... 평소랑 다르다?!?!

도대체 무슨 버그였길래 이렇게 오래동안 날 고통받게 한걸까 -_ㅠ

 

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

노트북 쿨러 수리  (0) 2025.06.07
레노버 E15 fan error  (0) 2025.06.04
노트북 저장장치 업그레이드  (0) 2025.05.21
지름 도착  (0) 2025.05.17
지름  (0) 2025.05.16
Posted by 구차니
프로그램 사용/snmp2025. 7. 23. 11:39

설치를 하고 설정을 해보아도 역시 grafana 이런거 안쓰면 별루인가...

무난한건 Example 1 일 듯.

Example 1
The example demonstrates how to run Zabbix server with MySQL database support, Zabbix web interface based on the Nginx web server and Zabbix Java gateway.


Example 2
The example demonstrates how to run Zabbix server with PostgreSQL database support, Zabbix web interface based on the Nginx web server and SNMP trap feature.


Example 3
The example demonstrates how to run Zabbix server with MySQL database support, Zabbix web interface based on the Nginx web server and Zabbix Java gateway using podman on Red Hat 8.

[링크 : https://www.zabbix.com/documentation/current/en/manual/installation/containers]

[링크 : https://www.zabbix.com/documentation/current/en/manual/quickstart/login]

'프로그램 사용 > snmp' 카테고리의 다른 글

ubuntu 에서 snmpd 설정하기  (0) 2025.07.29
libreNMS on docker  (0) 2025.07.22
iptime snmp mib  (0) 2025.07.21
snmpbulkwalk  (0) 2025.07.21
libreNMS  (0) 2025.07.21
Posted by 구차니
Microsoft/Windows2025. 7. 22. 17:23

와.. bash는 따위였구나..

 

$w=1024
$h=720

$form=New-Object system.windows.forms.form
$form.Icon=[System.Drawing.SystemIcons]::Asterisk
$form.Text="A Good Wizard"
$form.MaximizeBox=0
$form.Height=$h
$form.Width=$w
$form.Left=20
$form.Top=20
$form.StartPosition="Manual"
$form.FormBorderStyle=1
$form.Topmost-$false

$titleBox=New-Object system.windows.forms.RichTextBox
$titleBox.Width=$w-40
$titleBox.Height=30
$titleBox.Top=10
$titleBox.Left=10
$titleBox.Font="Consolas, 14" 
$titleBox.Multiline=$false
$titleBox.ReadOnly=$true 
$titleBox.BackColor="#3333FF"
$titleBox.ForeColor="white"
$titleBox.BorderStyle=0
$titleBox.Text="Welcome Message"

$contentBox=New-Object system.windows.forms.RichTextBox
$contentBox.Width=$w-40
$contentBox.Height=$h-140
$contentBox.Top=50 
$contentBox.Left=10
$contentBox.Font="consolas, 12"
$contentBox.ForeColor="#00FF00" 
$contentBox.BackColor="Black"
$contentBox.BorderStyle=0
$contentBox.ReadOnly=$true 
$contentBox.Text="
***1. Click next button to begin.*** 
***2. When finished, done button should be activated.***
***3. Write the things you found.***
***4. Save the log file.***

Last Modified: August 9, 2021 Author: Iseop"

$prevBtn=New-Object system.windows.forms.Button
$prevBtn.Enabled=$false
$prevBtn.Text="< Prev"
$prevBtn.Width=80
$prevBtn.Height=30
$prevBtn.Top=$h-80
$prevBtn.Left=$w-260
$prevBtn.Add_Click(
    {
        $Global:step--;
        Run-Check
    }
)

$nextBtn=New-Object system.windows.forms.Button
$nextBtn.Text="Next >"
$nextBtn.Width=80
$nextBtn.Height=30
$nextBtn.Top=$h-80
$nextBtn.Left=$w-170
$nextBtn.Add_Click(
    {
        $Global:step++;
        Run-Check
    }
)

$doneBtn=New-Object system.windows.forms.Button
$doneBtn.Text="Done"
$doneBtn.Width=50
$doneBtn.Height=30
$doneBtn.Top=$h-80
$doneBtn.Left=$w-80
$doneBtn.Enabled=$false
$doneBtn.Add_Click(
    {
        $logfile=((Get-Date -Format "yyyyMMdd")+".log")
        "$env:USERNAME finished the wizard." > $logfile
        notepad $logfile
        $form.Close()
    }
)

$pinTopCheckBox=New-Object System.Windows.Forms.CheckBox
$pinTopCheckBox.Width=200
$pinTopCheckBox.Top=$h-80
$pinTopCheckBox.Left=10
$pinTopCheckBox.Text="Pinned on top"
$pinTopCheckBox.checked=$false 
$pinTopCheckBox.Add_CheckStateChanged(
    {
        if(!($pinTopCheckBox.checked)) { 
            $form.topmost=$false
        } else {
            $form.topmost=$true
        }
    }
)

$form.Controls.Add($titleBox)
$form.Controls.Add($contentBox)
$form.Controls.Add($prevBtn)
$form.Controls.Add($nextBtn)
$form.Controls.Add($doneBtn)
$form.Controls.Add($pinTopCheckBox)
 

$form.ShowDialog()

[링크 https://iseop.tistory.com/70]
[링크 https://jdh5202.tistory.com/442]

Posted by 구차니
Microsoft/Windows2025. 7. 22. 17:22

ps1 확장자를 가진 파워셀 스크립트가 실행 안될경우

관리자 권한의 파워셸에서 아래의 명령을 입력해주면, ps1 파일 더블클릭시 실행되게 된다.

 

Set-ExecutionPolicy RemoteSigned

[링크 https://holjjack.tistory.com/190]

Posted by 구차니
Microsoft/Windows2025. 7. 22. 17:21

와.. bash로는 상상도 못했는데 한번 찾아봐야겠다

System.Net.Sockets.TcpClient로 열고

GetStream() 으로 스트림을 열어서

tcpstream.Write() 하면 끝.. 와... 신세계네

 

$routerAddress = "192.168.10.126"
$port = "23"
$tcp = New-Object System.Net.Sockets.TcpClient($routerAddress,$Port)
$tcpstream = $tcp.GetStream()
$reader = New-Object System.IO.StreamReader($tcpStream)
$writer = New-Object System.IO.StreamWriter($tcpStream)
$writer.AutoFlush = $true

while ($tcp.Connected)
{       
    write-host ([char]$reader.Read()) -NoNewline

    while(($reader.Peek() -ne -1) -or ($tcp.Available)){        
        write-host ([char]$reader.Read()) -NoNewline
    }

    if ($tcp.Connected)
    {
        Write-Host -NoNewline "_"
        $command = Read-Host

        if ($command -eq "escape")
        {
            break
        }
        $writer.WriteLine($command) | Out-Null
    }     
}

$reader.Close()
$writer.Close()
$tcp.Close()

[링크 : https://stackoverflow.com/questions/29759854/how-to-connect-to-tcp-socket-with-powershell-to-send-and-receive-data]

[링크 : https://learn.microsoft.com/ko-kr/dotnet/api/system.net.sockets.tcpclient?view=net-9.0]

Posted by 구차니
개소리 왈왈/블로그2025. 7. 22. 14:02

9개 날아갈거라고 해서 마감임박인것 중에 골라서 기부.

그런데 해피빈 받으려고 리프레시하고 클릭하면 서버 비용이 더 드는건 아니겠...지

 

 

'개소리 왈왈 > 블로그' 카테고리의 다른 글

블로그 방문자 수 정상화(?)  (0) 2025.07.20
이틀후 블로그 통계 정상화  (7) 2025.07.17
게을러졌어..  (0) 2025.07.16
도메인 연장  (0) 2025.06.04
읭? 일요일 월요일 무슨일이?  (0) 2025.05.26
Posted by 구차니