原项目地址:客制化名片 v1.4.0 - 立创EDA开源硬件平台

注意:本文并不教EDA软件的使用,以及焊接技巧。如有需要,b站自学(
本文虽然教的是怎么抄作业,但如果你能力够强有时间折腾,可以自己写作业~

近日在立创社区看到了一个很有意思的东西,esp8266的电子名片

不得不说让我这个老猛男心动了qwq
既然电路图pcb都给你了,直接抄就完事了呗,废话少说,开搞!

需要的食材(误):
PCB ×1
ESP12F模块(ESP8266) ×1
TS24CA按动开关 ×2
AMS1117-3.3稳压器 ×2
SSSS710607拨动开关 ×2
Type-C-16P-1.0-沉板 母口 ×1
CH340C USB2TTL芯片 ×1
10kΩ 0603贴片电阻 ×7
300Ω 0603贴片电阻 ×2
1μF 0603贴片电容 ×1
100nF 0603贴片电容 ×6
0402 贴片LED ×2
1206 贴片LED ×2
RFID芯片(视版本而定) ×1

这些食材除了RFID芯片之外都可以在立创商城直接买到,也可以在其他商城购买,这里为方便直接在立创走一条龙服务。购买电阻电容等小件时要记得留出冗余的量,防止出现意外。

至于RFID芯片,我是在某宝随便找了一家,为了防止被怀疑打广告这里我就不放出来了,有需要自己找(

接下来讲讲PCB如何获得:
打开原工程地址,往下翻,找到“设计图”一栏。
选择你想要的版本(这里博主选择的“PCB RFID”),在编辑器中打开。

习惯原因,我将项目复制到了自己的账号的云端,使用PC上的本地软件编辑,界面可能会和网页版有所区别。
修改顶层和底层的丝印文字,二维码图片等,原版WiFi天线那里是Mur猫猫,我这里修改成了智乃,你可以根据自己的喜好来修改,值得注意的是,图片缩小到了那么小,实际印刷的时候可能会不清晰,所以尽量避免使用内容过于复杂的图片。然后删掉水印,尺寸标注等。请尊重原作者的成果,在合理范围内编辑,不要盗用或商用!

可以3D预览一下~

PCB修改完成后,便可生成Gerber文件提交厂家打样。嘉立创和捷配都可以每个月白嫖两次打样,相关要求和限制可以去官网查看。值得注意的是,嘉立创免费打样只能选择有铅喷锡,而捷配可以嫖无铅的。但是个人感觉捷配的丝印质量没有嘉立创的好,而且也有网友爆出捷配打出来的板子有质量问题,会掉焊盘什么的(我也不知道只是听说啊)。所以厂家方面选择你自己觉得靠谱的就行了,我选的是嘉立创。
下单完成后,耐心等待一周左右,板子就到手了。

焊接完成后的样子:

值得注意的是,板子左下角那个USB插头因为板子厚度的原因,并不能插进任何一个USB接口里,所以充其量就是个装饰,如果非要用,买一只雪糕吃剩下的木棒剪下来一段贴上面垫一垫应该就行了(
连接电脑,烧写程序成功,说明工作正常(记得先装好ch340串口驱动):

我使用的是Arduino IDE,如果你也要用这个记得先安装ESP8266支持。

这里放出程序,修改最下面"ssidmsg"函数中的内容即可自定义ssid的文字。

#include <ESP8266WiFi.h> 
extern "C" {
  #include "user_interface.h"
}
void setup() {
  delay(500);
  wifi_set_opmode(STATION_MODE);
  wifi_promiscuous_enable(1); 
}
void loop() {
  ssidmsg();
}
void sendFuzzedBeacon(char* baseSsid, int nr) {
  int baseLen = strlen(baseSsid);
  int i=0;
  for(int j=0; j < 32 - baseLen; j++) {
    for(int k=0; k < pow(2,j); k++) {
      int kk = k;
      String ssid = baseSsid;
      for(int l=0; l < j; l++) {
        if(kk%2 == 1) ssid += " "; 
        else ssid += "\t"; 
        kk /= 2;
      }
      char charBufSsid[33];
      ssid.toCharArray(charBufSsid, 33);
      sendBeacon(charBufSsid);
      if(++i >= nr) return; 
    }
  }
}
void sendRandomBeacon(int len) {
  char ssid[len+1];
  randomString(len, ssid);
  sendBeacon(ssid);
}

void randomString(int len, char* ssid) {
  String alfa = "1234567890qwertyuiopasdfghjkklzxcvbnm QWERTYUIOPASDFGHJKLZXCVBNM_";
  for(int i = 0; i < len; i++) {
    ssid[i] = alfa[random(65)];
  }
}
void sendBeacon(char* ssid) {
    byte channel = random(1,12); 
    wifi_set_channel(channel);

    uint8_t packet[128] = { 0x80, 0x00,
                        0x00, 0x00, 
                /*4*/   0xff, 0xff, 0xff, 0xff, 0xff, 0xff,
                /*10*/  0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
                /*16*/  0x01, 0x02, 0x03, 0x04, 0x05, 0x06,
                /*22*/  0xc0, 0x6c, 
                /*24*/  0x83, 0x51, 0xf7, 0x8f, 0x0f, 0x00, 0x00, 0x00,
                /*32*/  0xFF, 0x00,
                /*34*/  0x01, 0x04,
                /* SSID */
                /*36*/  0x00
                };

    int ssidLen = strlen(ssid);
    packet[37] = ssidLen;

    for(int i = 0; i < ssidLen; i++) {
      packet[38+i] = ssid[i];
    }

    uint8_t postSSID[13] = {0x01, 0x08, 0x82, 0x84, 0x8b, 0x96, 0x24, 0x30, 0x48, 0x6c, 
                        0x03, 0x01, 0x04};

    for(int i = 0; i < 12; i++) {
      packet[38 + ssidLen + i] = postSSID[i];
    }

    packet[50 + ssidLen] = channel;

    packet[10] = packet[16] = random(256);
    packet[11] = packet[17] = random(256);
    packet[12] = packet[18] = random(256);
    packet[13] = packet[19] = random(256);
    packet[14] = packet[20] = random(256);
    packet[15] = packet[21] = random(256);

    int packetSize = 51 + ssidLen;

    wifi_send_pkt_freedom(packet, packetSize, 0);
    wifi_send_pkt_freedom(packet, packetSize, 0);
    wifi_send_pkt_freedom(packet, packetSize, 0);
    delay(1);
}
//修改下面括号中引号里的文字
void ssidmsg() {
  sendBeacon("01 你好!");
  sendBeacon("02 这里是时易世变");
  sendBeacon("03 如果你能看到");
  sendBeacon("04 说明你在我旁边哦");
  sendBeacon("05 嘿嘿嘿qwq");
  sendBeacon("06 如果感兴趣的话");
  sendBeacon("07 就来找我玩吧~");
  sendBeacon("08 QQ:1279478673");
}

效果如图:

之后便是往RFID芯片里写入你想要的数据,使用带NFC功能的安卓手机安装任意写NFC标签的软件即可,时间原因我也没有这个需求(因为我手里没有支持NFC功能的安卓手机),因此这里就先略过。
全部完成后,不要忘记用洗板水把名片刷干净。

这样我们就得到了一张属于自己的精致的电子名片啦~

觉得不错的话,那你也来做一张吧!

相关工具下载链接:
立创EDA
Arduino IDE
CH340串口驱动